使用appium和量角器在设备浏览器上并行执行

时间:2016-11-16 13:55:13

标签: android protractor appium

我正在尝试在多个Android设备的Chrome浏览器上运行我的测试。我正在使用带有appium的量角器。我正在启动2个具有不同端口的appium服务器,即47234725,并指定具有2个设备信息的多功能。我尝试过仿真器和真实设备。当我运行配置文件时,即使我指定了设备UDID,两个Appium服务器也试图访问一个设备。我对量角器非常新。谁能帮我?以下是我的配置文件

config.js

exports.config = {

      framework: 'jasmine',
      specs: ['Sample.js','Sample_1.js'],

      multiCapabilities: [{
          seleniumAddress: 'http://localhost:4723/wd/hub',
          browserName: 'Chrome',
           // 'appium-version': '1.4.16',
            platformName: 'Android',
            platformVersion: '6.0.1',
            deviceName: 'abc',
            UDID:'abc',
            shardTestFiles: true
        }, {
             seleniumAddress: 'http://localhost:4725/wd/hub',
                browserName: 'Chrome',
               // 'appium-version': '1.0',
                platformName: 'Android',
                platformVersion: '4.4.4',
                deviceName: 'def',
                UDID:'def',
                shardTestFiles: true
        }],  


      onPrepare: function () {

      }
    };

2 个答案:

答案 0 :(得分:2)

前一段时间我遇到了同样的问题。

我修复了两个不同的config.js文件:

  1. 一个用于在端口4723 config-mobile-4723.js
  2. 上使用appium的移动设备
  3. 其他用于在端口4725上使用appium的移动设备config-mobile-4725.js
  4. 您只需将config.js拆分为两个文件config-mobile-4723.jsconfig-mobile-4725.js,然后使用protractor config-mobile-4723.js & protractor config-mobile-4725.js并行运行两个命令

    我不确定它是否是最佳解决方案,但它确实有效。

    更多信息https://github.com/aluzardo/protractor-cucumber-tests

答案 1 :(得分:2)

我遇到了同样的问题。但我没有使用量角器。我使用了Appium和JUnit以及Cucumber。对我来说,即使我将这两个设备连接到我的笔记本电脑,脚本也始终在第一个显示“adb devices”命令的设备上运行。

我后来发现我必须使用 Appium Port,Bootstrap Port和UDID 的不同组合。为我提供了所有这3个标志的不同值。

由于您使用的是Chrome驱动程序,因此您需要为ChromeDriver端口提供不同的值

以下文章使用Java Thread进行并行执行,但该方法也可以与其他方法一起使用 - http://automationtestinghub.com/appium-parallel-execution/