【问题标题】:In windows,How to start appium server without mentioning any specific ports and utilize available free ports?在 windows 中,如何在不提及任何特定端口的情况下启动 appium 服务器并利用可用的空闲端口?
【发布时间】:2019-07-14 22:15:51
【问题描述】:

我正在使用 Java 代码使用命令行 Agruments 启动 Appium 服务器,其中提到了一个特定的端口。我目前正在寻找如何使用 Windows 机器中的可用端口启动 Appium 服务器。

【问题讨论】:

标签: java appium appium-android appium-desktop


【解决方案1】:

如果你已经使用 node js 安装了 appium,那么你可以使用以下命令开始

appium -a 127.0.0.1 -p 4723

如果你已经下载了 .exe 文件,那么你必须打开可执行文件,它会这样显示你..

然后你必须点击启动appium server 按钮,如果服务器启动成功那么它会是这个样子..

【讨论】:

  • 有没有办法打开appium而不提Ports?
  • 实际上需要端口,以便系统可以将数据传输到设备,因此,您已经发布了端口,为什么要问您可以使用任何您想要的端口
  • 我将我的框架保留在 CI 中,但是当我尝试启动 appium 服务器时,由于端口不是空闲的,所以出现连接被拒绝错误,因此我需要每天更改端口
  • 您的计算机中有超过 65000 个可用端口,您可以使用任何东西..
  • 但我每次都必须手动更改是否有办法使用 Java 或其他方法,那就太好了
【解决方案2】:

要在不提供任何端口的情况下启动 appium 服务,您可以使用 AppiumDriverLocalService 类和 AppiumServiceBuilder。我们将使用方法 'usingAnyFreePort()' 将 appium 服务器配置为在任何可用端口上启动。需要在系统上安装 Node.js 才能实现。

我们需要提供Appium node.exe文件路径和appium.js文件路径如下:

    String Appium_Node_Path="C:\Program Files\nodejs\node.exe";

                //Appium.js file can be available on one of these 2 path
    String Appium_JS_Path="C:\Program Files (x86)\Appium\resources\app\node_modules\appium\build\lib/appium.js";

             OR          

    String Appium_JS_Path="C:\Users\username\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\lib\appium.js";
     AppiumDriverLocalService appiumService";

appiumService = AppiumDriverLocalService.buildService(new AppiumServiceBuilder().usingAnyFreePort().usingDriverExecutable(new File(Appium_Node_Path)).withAppiumJS(new File(Appium_JS_Path)));
    appiumService.start();

【讨论】:

  • 如果我们使用 'usingAnyFreePort()',如何使用 Apprium URL 驱动初始化?
  • 获取 url 字符串,例如 'String appiumServiceUrl = appiumService.getUrl().toString();'并将其用作 URL 'driver = new AndroidDriver(new URL(appiumServiceUrl), capabilities);'
猜你喜欢
  • 1970-01-01
  • 2019-06-16
  • 1970-01-01
  • 2016-12-03
  • 2020-11-24
  • 2017-10-15
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多