2016-06-25 31 views
0

我有幾個規格,如:打開一個新的窗口,每個天賦 - 量角器

specs: ['spec1.js','spec2.js','spec3.js], 

我認爲所有這些規範運行一個接一個在打開同一個窗口。

我怎麼可以這樣做:

打開一個新的窗口>運行規範>關閉窗口>打開一個新的窗口>運行下一個規範>關閉窗口....等等...

在此先感謝。

回答

0

您可以在配置文件中使用量角器的新功能:

restartBrowserBetweenTests: true 

,你可以找到關於此功能在這裏詳細討論:How to, so to speak, restart or close browser after every protractor -spec test

+0

這會在每個「it」塊之間重新啓動,而不是每個規範。使你的測試非常慢,並且如果你的規範需要運行任何'beforeAll'功能(很可能),因爲它只在整個套件之前運行一次 – Gunderson

1

您也可以嘗試添加到功能此選項:

shardTestFiles: true 
maxInstances: 1 

https://github.com/angular/protractor/blob/master/docs/referenceConf.js#L158

因此,每個規格將在自己的瀏覽器實例中執行。

但是,您可能會因報告而出現錯誤 - 因爲Jasmine將在每個規範文件之間重新初始化。我通過生成單獨的junit XML並在執行後將它們組合在一起解決了這個問題。

+0

Hi @ Xotabu4,我也試過並且它工作正常。但正如你所說,生成的報告只有第一個測試用例的細節。我如何獲得報告中所有測試的詳細信息? –

+0

這是一個很長的回答 - 在Skype或其他地方ping我,或者創建新的問題並提及我。 – Xotabu4