我注意到,当我在multiCapabilities中使用shardTestFiles选项在每种浏览器类型上并行执行cucumber特征文件时,它会为每个规范文件+浏览器组合启动一个webdriver。无论特征文件是否包含与通过cucumberOpts.tags传入的标记匹配的标记,都会发生这种情况-相反,它似乎会在webdriver启动后检查标记匹配,然后对于没有匹配的任何特征,它只会显示0测试并成功退出。
这在saucelabs控制台中产生了许多噪音/容量问题,因为它为每个功能文件启动一个vm,而不管它是否有要执行的东西。作为一种变通办法,我们正在考虑在量角器发出呼叫声任务之前执行跨特征文件的标记匹配,方法与cucumberjs相同,以便生成要放入量角器conf中的特征文件规范路径列表,但这似乎有点老生常谈--还有人见过这种行为吗?
发布于 2016-08-05 19:20:49
据我所知,这源于shardTestFiles的工作方式。据我所知(这都是基于使用protractor-cucumber-framework包),如果设置为true,规范将传递给Protractor的TaskScheduler并启动webdriver会话,然后使用框架的run方法逐个运行它们,然后将其传递给Cucumber的运行器,然后才应用标记过滤-所以在webdriver会话启动之后。
所以你的"hacky解决方案“可能是目前最好的解决方案,因为分片的设计并没有考虑到Cucumber。
https://stackoverflow.com/questions/38516527
复制相似问题