我正在尝试借助多个模拟器和Selenium Grid设置android并行执行。
为此,我需要使用Selenium Grid注册Appium服务器节点(每个模拟器一个)。
如何在Java中执行此操作?
我是通过命令行完成的,现在想要自动化端到端流程。
我可以通过以下代码
实现appium server独立启动和停止 private final static AppiumDriverLocalService service;
static {
System.out.println(APPIUM_HOST +" "+ APPIUM_PORT + " " + APPIUM_LOG_LEVEL + " " + GeneralServerFlag.LOG_LEVEL );
service = buildService(new AppiumServiceBuilder().
withIPAddress("127.0.0.1").
usingPort(Integer.parseInt("4723"))
.withAppiumJS(new File("/usr/local/lib/node_modules/appium/build/lib/main.js"))
.withArgument(GeneralServerFlag.LOG_LEVEL, "info"));
}
public static void startAppiumServer() {
try{
service.start();
}catch(Exception e){
e.printStackTrace();
}
}
public static void stopAppiumServer() {
try{
if (service.isRunning()) {
service.stop();
}
}catch(Exception e){
e.printStackTrace();
}
}
我没有得到如何传递注册节点所需的其他参数
答案 0 :(得分:0)
我可以开始工作,请参阅https://discuss.appium.io/t/unable-to-start-appium-service-by-appiumdriverlocalserivce/6324/25
但仍然有几个问题可供我使用
它没有使用usingAnyFreePort(),我必须明确提到端口号。
我可以注册android模拟器节点,即使它没有处于打开状态,也不确定这是否有效?