【问题标题】:How to start Appium server 2.0 Programmatically如何以编程方式启动 Appium server 2.0
【发布时间】:2021-11-20 08:12:15
【问题描述】:

我知道以编程方式启动 Appium 1.x,但无法为 Appium 2.0 启动

AppiumServiceBuilder builder = new AppiumServiceBuilder();
    builder.usingAnyFreePort();
    builder.usingDriverExecutable(new File("<path to Node>\\node.exe"));
    builder.withAppiumJS(new File("<path to Appium>\\appium"));
    HashMap<String, String> environment = new HashMap();
    environment.put("PATH", "/usr/local/bin:" + System.getenv("PATH"));
    builder.withEnvironment(environment);
    service = AppiumDriverLocalService.buildService(builder);
    service.start();
    

【问题讨论】:

    标签: java appium appium-desktop


    【解决方案1】:

    使用以下命令安装 appium 2.0

    npm install -g appium@next
    

    确保系统环境变量中有 nodejs 的路径 在用户变量中添加新的键 NODE_PATH 和 APPIUM_PATH

    对于 NODE_PATH 将值设置为 C:\Program Files\nodejs\node.exe

    对于 APPIUM_PATH 将值设置为 C:\Users\AppData\Roaming\npm\node_modules\appium\node_modules.bin

    您将下面的行添加到上面的代码中 builder = new AppiumServiceBuilder().withArgument(() -> "--base-path", "/wd/hub").withArgument(() -> "--plugins", "images");

    这是完整的代码

    AppiumServiceBuilder builder;
            builder = new AppiumServiceBuilder().withArgument(() -> "--base-path", "/wd/hub").withArgument(() -> "--plugins", "images");
            builder.usingAnyFreePort();
            builder.usingDriverExecutable(new File("C:\\Program Files\\nodejs\\node.exe"));
            builder.withAppiumJS(new File("C:\\Users\\<user_name\\AppData\\Roaming\\npm\\node_modules\\appium"));
            HashMap<String, String> environment = new HashMap();
            environment.put("PATH", "/usr/local/bin:" + System.getenv("PATH"));
            builder.withEnvironment(environment);
            service = AppiumDriverLocalService.buildService(builder);
            service.start();
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("appium:platformName", "Android");
            capabilities.setCapability("deviceName", "Android Emulator");
            capabilities.setCapability("appium:automationName", "UiAutomator2");
            capabilities.setCapability("app", "path_to_app\\app\\Learn_Android_With_Source_Code.apk");
    
            androidDriver = new AndroidDriver<AndroidElement>(service.getUrl(), capabilities);
            androidDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
            return androidDriver;
    

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 2018-10-07
      • 2022-10-08
      • 2018-10-14
      • 2021-04-13
      • 2019-01-14
      • 2018-06-06
      • 2019-07-15
      • 2016-04-17
      相关资源
      最近更新 更多