使用cucumberOpt.tags的量角器shardTestFiles启动不必要的webdrivers

时间:2016-07-22 00:47:50

标签: protractor cucumberjs

我注意到当我使用shardTestFiles选项在multiCapabilities中的每个浏览器类型上并行执行黄瓜功能文件时,它会为每个spec文件+浏览器组合启动一个webdriver。无论功能文件是否包含与通过cucumberOpts.tags传入的标记匹配的标记,都会发生这种情况 - 相反,它似乎在webdriver启动后检查标记匹配,然后对于没有匹配的任何功能,它只是说0测试并成功退出。

这会在saucelabs控制台中产生很多噪音/容量问题,因为它会为每个功能文件激活一个vm,无论它是否有任何要执行的内容。作为一种解决方法,我们正在考虑在量角器grunt任务之前执行一个标签匹配,与cucumberjs一样,以生成一个特征文件规范路径列表放入量角器conf,但这似乎有点hacky - 其他人看到过这种行为吗?

1 个答案:

答案 0 :(得分:0)

据我所知,这源于shardTestFiles的工作方式。根据我的理解(并且它基于使用量角器 - 黄瓜 - 框架包),如果设置为true,则将规范传递给Protractor' TaskScheduler并启动webdriver会话然后使用框架的运行方法逐个运行它们,然后将其传递给Cucumber的运行器,然后才应用标签过滤 - 因此在启动webdriver会话之后。 / p>

所以你的" hacky解决方案"可能是现在最好的那个,因为分片的设计并不考虑黄瓜。