在Android设备上分布式本机测试执行

时间:2017-12-14 09:06:21

标签: testng appium selenium-grid selenium-grid2

我需要在两个Android设备上以分布式模式执行测试套件。我正在使用appium和testng。你们其中一个人能够这样做吗?

1 个答案:

答案 0 :(得分:-1)

您可以在项目中使用相当不错的设置:AppiumTestDistribution

例如,您使用Maven构建,然后向项目添加依赖项:

<dependency>
  <groupId>com.github.saikrishna321</groupId>
  <artifactId>AppiumTestDistribution</artifactId>
<version>09c4398</version>
</dependency>

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

然后你就可以运行你的测试了:

@Test
public void testApp() throws Exception {
    ParallelThread parallelThread = new ParallelThread();
    List<String> tests = new ArrayList<>();
    tests.add("HomePageTest2");
    tests.add("HomePageTest3");
    parallelThread.runner("com.test.site",tests);
}

在您的测试目录下创建config.properties文件,该文件应具有以下属性

RUNNER=distribute

## For appium 1.6.X users (If appium installed using npm)
APPIUM_JS_PATH=/usr/local/lib/node_modules/appium/build/lib/main.js

## For Windows users 
APPIUM_JS_PATH=C:/Users//AppData/Roaming/npm/node_modules/appium/build/lib/main.js
BROWSER_TYPE=chrome
APP_TYPE=NA
BUNDLE_ID=
FRAMEWORK=testng/cucumber
LISTENERS=listerner2,listerner2 (user can add custom listeners here, comma separated)
MAX_RETRY_COUNT=2 (Provide any retry count on failures, this is applied to all tests globally)

## Default path to capability json is root/caps/, if the location of the android.json & iOS.json is changed make sure you mention as below 
IOS_CAPS=relative/absolute
ANDROID_CAPS=relative/absolute 

## To run test on parallel simulators
DEVICE_PLATFORM=simulator

从命令行运行测试:

Platform="android/ios/both" mvn clean -Dtest=Runner test