Appium通过Jenkins

时间:2015-12-15 09:45:47

标签: android selenium jenkins appium

我已经设置了jenkins,selenium grid,android sdk和appium。

我想在真实设备(三星)上运行我的测试。该设备通过USB连接到我的PC并启用了开发人员模式。

adb devices 

返回手机的ID(或该字符串应该是什么意思)

如果我直接通过appium运行测试,一切正常。

capabilities = new DesiredCapabilities();
capabilities.setCapability("device","Android");
capabilities.setBrowserName("chrome");
capabilities.setCapability("deviceName","Android");
capabilities.setCapability("platformName","Android");
super.webDriverUrl = new URL("http://127.0.0.1:4723/wd/hub");

如果我使用selenium网格运行另一组非Android测试,一切也都可以。

FirefoxProfile profile = new FirefoxProfile();
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
driver = new RemoteWebDriver(jenkinsurl+"/wd/hub",capabilities);

问题是如果我尝试通过selenium网格运行android测试我的设置不会工作。 Appium以参数--nodeconfig /path/to/json

开头

在json文件中定义了以下功能:

 "capabilities":
  [
    {
      "browserName":"Android",
      "version":"4.2",
      "platformName":"Android",
      "deviceName":"4203abf3dab84100"
    }
  ],

appium输出:

info: [debug] Appium successfully registered with the grid on 127.0.0.1:4444

节点也在jenkins / selenium /

中显示

以下代码是一个示例,我如何创建remotewebdriver的实例

capabilities = new DesiredCapabilities();
capabilities.setBrowserName("Android");
capabilities.setCapability("Vesrion","4.2");
capabilities.setCapability("deviceName","4203abf3dab84100");
capabilities.setCapability("platformName","Android");
driver = new RemoteWebDriver(jenkinsurl+"/wd/hub",capabilities);

控制台输出:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running somepackage.TestAndroid
Configuring TestNG with: TestNGMapConfigurator

它冻结了,在ide控制台和appium进程日志中也没有异常。三星手机不会打开Chrome浏览器。我的想法用完了,还有其他人遇到过类似的问题吗? 使用Linux

0 个答案:

没有答案