量角器+ Selenium网格:跨节点的分片测试规范

时间:2016-07-07 19:47:02

标签: angularjs node.js npm protractor selenium-grid

我最近设置了一个Selenium Grid(1个服务器用于集线器,10个其他服务器,每个服务器有1个节点),运行我的Protractor自动化测试时没有问题。但是,我想在multiCapabilities(在我的protractor.conf.js中)中定义的所有节点上对~400个测试进行分片,这样我就可以大大减少执行时间。

量角器supported this,但它已被弃用(不知道为什么......?)。我已经尝试在shardTestFiles: true对象中设置multiCapabilities,但这只是在每个节点内的所有浏览器实例中对测试进行分片(每个节点都运行所有测试)。我也使用了maxSessionsmaxInstancescount配置。我甚至尝试删除multiCapabilities并将完整配置放入capabilities - 没有运气。

是否有非hacky 方式让这个工作?我已经搜索了npm,我也找不到任何节点模块或gulp插件。

1 个答案:

答案 0 :(得分:0)

您是否尝试过在conf.js中为多功能提供类似的内容

multiCapabilities:[{     'browserName':'chrome',     shardTestFiles:是的,     maxInstances:2     规格:['specs1','specs2'],   }, {     'browserName':'firefox',     shardTestFiles:是的,     maxInstances:2      规格:['specs3','specs4'],   }, }]

这将仅在chrome上运行spec1和2,在firefox上运行spec 3和4,这将减少总执行时间50%。 您可以在多功能功能内传递更多功能,并将规格进一步分配给这些功能,以进一步减少总执行时间。