我正在使用 Java 和 Selenium 通过命令行初始化 Appium,以便在 Android chrome 浏览器上运行测试。
然而,该过程运行无限时间,并且代码来自“DesiredCapabilities
“ 该行没有被执行..
代码 :
Process proc;
String path_to_appium = System.getenv("APPIUM_HOME") + File.separator + "node_modules" + File.separator + "appium" + File.separator + "bin" + File.separator + "appium.js";
String path_to_node = System.getenv("APPIUM_HOME") + File.separator + "node.exe";
proc = Runtime.getRuntime().exec("\"" + path_to_node + "\"" + " " + "\"" + path_to_appium + "\"" + " " + "--address 127.0.0.1 --browser-name Chrome --platform-name Android --platform-version 17 --automation-name Appium --chromedriver-port 9516 --bootstrap-port 4724 --no-reset --local-timezone --log appium_log.log");
System.out.println("Android Chrome driver would be used");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName", "HTC One X");
capabilities.setCapability("platformVersion", "4.2.2");
capabilities.setCapability("device", "android");
capabilities.setCapability("browserName", MobileBrowserType.CHROME);
Thread.sleep(2000);
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("test.com");
我在控制台中没有得到任何输出。
什么都没发生。该过程不会继续下一行(即设置DesiredCapabilities
)。 chrome 不会在设备上启动。
Note:当我从命令行执行命令,然后开始测试时DesiredCapabilities
行,测试运行良好,chrome 初始化成功。
代码有什么问题吗?
最新的 appium 版本即 1_4_16_1 中存在问题。
当以编程方式启动 appium 服务器时,它会造成死锁,因此驱动程序未初始化。
使用后问题得到解决ServerArguments
Appium 并更换线路
proc = Runtime.getRuntime().exec("\"" + path_to_node + "\"" + " " + "\"" + path_to_appium + "\"" + " " + "--address 127.0.0.1 --browser-name Chrome --platform-name Android --platform-version 17 --automation-name Appium --chromedriver-port 9516 --bootstrap-port 4724 --no-reset --local-timezone --log appium_log.log");
用下面的代码:
ServerArguments serverArguments = new ServerArguments();
serverArguments.setArgument("--address","127.0.0.1");
serverArguments.setArgument("--chromedriver-port", 9516);
serverArguments.setArgument("--bootstrap-port", 4724);
serverArguments.setArgument("--browser-name", "Chrome");
serverArguments.setArgument("--no-reset", true);
serverArguments.setArgument("--local-timezone", true);
AppiumServer appiumServer = new AppiumServer(appium_folder, serverArguments);
appiumServer.startServer();
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("test.com");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)