2016-07-22 24 views
0

我注意到,當我使用shardTestFiles選項在multiCapabilities中的每個瀏覽器類型中並行執行黃瓜功能文件時,它會爲每個spec文件+瀏覽器組合啓動一個webdriver。無論功能文件是否包含與通過cucumberOpts.tags傳入的標籤相匹配的標籤,都會發生這種情況 - 相反,它似乎在webdriver啓動後檢查標籤匹配,然後對於沒有匹配的任何功能,它只是說0測試併成功退出。量角器shardTestFiles與cucumberOpt.tags啓動不必要的webdrivers

由於它會爲每個功能文件啓動一個虛擬機,無論它是否有任何要執行的東西,它都會在saucelabs控制檯中產生很多噪音/容量問題。作爲一種解決方法,我們正考慮在量角器grunt任務之前執行跨特徵文件的標記匹配,就像cucumberjs爲了生成要放入量角器conf中的要素文件spec路徑列表一樣,但這看起來有點像hacky - 其他人看過這種行爲?

+0

我們已經結束了從cucumberjs執行標記過濾邏輯以創建特徵文件列表作爲構建量角器conf的一部分。工程,但.. – AndrewV

回答

0

據我所知,這源於shardTestFiles的工作原理。根據我的理解(並且它都基於使用量角器-cucumber-framework包),如果設置爲true,則將規格傳遞給量角器的TaskScheduler並啓動web驅動器會話,然後使用一個一個地運行它們該框架的運行方法又將其傳遞給Cucumber的跑步者,然後才應用標籤過濾 - 所以在webdriver會話啓動後。

所以你的「哈克解決方案」可能是目前最好的解決方案,因爲分片並非設計時考慮到了黃瓜。