我有幾個規格,如:打開一個新的窗口,每個天賦 - 量角器
specs: ['spec1.js','spec2.js','spec3.js],
我認爲所有這些規範運行一個接一個在打開同一個窗口。
我怎麼可以這樣做:
打開一個新的窗口>運行規範>關閉窗口>打開一個新的窗口>運行下一個規範>關閉窗口....等等...
在此先感謝。
我有幾個規格,如:打開一個新的窗口,每個天賦 - 量角器
specs: ['spec1.js','spec2.js','spec3.js],
我認爲所有這些規範運行一個接一個在打開同一個窗口。
我怎麼可以這樣做:
打開一個新的窗口>運行規範>關閉窗口>打開一個新的窗口>運行下一個規範>關閉窗口....等等...
在此先感謝。
您可以在配置文件中使用量角器的新功能:
restartBrowserBetweenTests: true
,你可以找到關於此功能在這裏詳細討論:How to, so to speak, restart or close browser after every protractor -spec test
您也可以嘗試添加到功能此選項:
shardTestFiles: true
maxInstances: 1
https://github.com/angular/protractor/blob/master/docs/referenceConf.js#L158
因此,每個規格將在自己的瀏覽器實例中執行。
但是,您可能會因報告而出現錯誤 - 因爲Jasmine將在每個規範文件之間重新初始化。我通過生成單獨的junit XML並在執行後將它們組合在一起解決了這個問題。
Hi @ Xotabu4,我也試過並且它工作正常。但正如你所說,生成的報告只有第一個測試用例的細節。我如何獲得報告中所有測試的詳細信息? –
這是一個很長的回答 - 在Skype或其他地方ping我,或者創建新的問題並提及我。 – Xotabu4
這會在每個「it」塊之間重新啓動,而不是每個規範。使你的測試非常慢,並且如果你的規範需要運行任何'beforeAll'功能(很可能),因爲它只在整個套件之前運行一次 – Gunderson