2017-03-07 42 views
0

在我的conf文件中,我有multiCapabilities,並有大約20套房。 當我運行我的測試套件時,測試在Chrome和Firefox上運行,不知何故,Firefox花費的時間幾乎是執行與Chrome相同數量的測試用例的兩倍。 所以我想劃分我的測試用例,以便其中一半在Chrome上運行並在Firefox上運行。 我知道這裏有shardTestFiles選項,但是它不起作用,因爲我正在爲我的應用程序使用相同的工作區,並且不想真正並行地運行測試。我可以在量角器上的Chrome和Firefox上運行特定的測試嗎?

回答

1

您可以將規格文件列表傳送到multicapabilities陣列中的每個capability。從量角器來源:

/** 
* Additional spec files to be run on this capability only. 
*/ 
specs?: string[]; 

這將是這個樣子:

multiCapabilities: [{ 
    browserName: "chrome", 
    specs: ['spec1.js','spec2.js'] 
}, { 
    browserName: "firefox", 
    specs: ['spec3.js','spec4.js'] 
}], 

在這種情況下,規格1和2將在Chrome和規範運行3和4將在Firefox上運行。

+0

但是我可以在套件中對規格進行分類嗎?舉個例子,如果我在Chrome中使用spec 1,2和3,然後在firefox中使用4,5和6,我可以像suite1那樣擁有測試1,2和4的套件以及套件2具有其餘的套件嗎?我問這是因爲我有大約30個套件,在這些套件中我已經對測試用例進行了分類,我不想單獨運行conf文件,但希望根據套件執行。 – ASB

+1

我不確定,所以我試了一下真的很快。我設置了4個規格文件,並設置1和3在Chrome中運行,然後2和4在Firefox中運行。然後,我設置了兩個套件,suite1設置爲運行規格1和2,套件2設置爲運行規格3和4.測試在設置爲運行的瀏覽器中運行,因此看起來像這樣可能 – tehbeardedone

+0

謝謝檢查了這一點,但我改變了我的測試仍然在兩個瀏覽器上運行。當Chrome運行完成後,相同的測試開始在Firefox上運行。 – ASB

相關問題