量角器 - 在不同的系统上并行运行多个测试

时间:2016-03-15 15:24:01

标签: protractor

有没有办法在不同的机器上并行运行多个测试套件。

我能够在不同浏览器的同一台机器上进行并行执行。

尝试使用seleniumAdress:''/ wd / hub 但它不起作用。

2 个答案:

答案 0 :(得分:2)

终于得到了答案: - )

步骤1:使用以下命令启动selenium standalone java -jar selenium-server-standalone-2.42.2.jar -port 5041

这里5041是一个端口号。

步骤2:在配置文件中添加以下代码行

multiCapabilities:[         {             browserName:'safari',             shardTestFiles:true,             seleniumAddress:'http://IP1:5041/wd/hub',             规格:'../ xyz.js',             maxInstances:1         },         {             browserName:'safari',             shardTestFiles:true,             seleniumAddress:'http://IP2:5041/wd/hub',
            规格:'../ pqr.js',             maxInstances:1         }     ],

注意:您需要在系统中启动selenium-standalone。

答案 1 :(得分:-3)

可能有更好的方法可以做到这一点,但目前我只是将它们作为并发的Grunt任务执行。

1)添加grunt并发插件

npm install grunt-concurrent --save-dev

2)在grunt.initConfig下为每个浏览器添加一个任务。我们可以将浏览器添加为arg以重用我们的配置文件。

protractor: {
        options: {
            keepAlive: true,
            singleRun: false,
            configFile: "test/protractor.conf.js"
        },
        run_chrome: {
            options: {
                args: {
                    browser: "chrome"
                }
            }
        },
        run_firefox: {
            options: {
                args: {
                    browser: "firefox"
                }
            }
        }
    },

3)将这些注册为任务;

grunt.registerTask('protractor-chrome', ['protractor:run_chrome']);
grunt.registerTask('protractor-firefox', ['protractor:run_firefox']);

4)在grunt.initConfig

下创建并发任务
concurrent: {
        protractor_test: ['protractor-chrome', 'protractor-firefox']
    },

5)为并发

添加grunt任务
grunt.registerTask('protractor-e2e', ['concurrent:protractor_test']);

执行该操作应该可以同时进行量角器测试。

希望这会有所帮助。 :)