我已经设置了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