通过 shell 脚本启动 appium 服务器的问题
Posted
技术标签:
【中文标题】通过 shell 脚本启动 appium 服务器的问题【英文标题】:Issues in launching appium server through shell script 【发布时间】:2015-10-26 07:18:45 【问题描述】:我一直在尝试在我的 RHEL 机器上使用几个 android 设备设置 appium。安装完成,我使用以下命令启动设备的 appium 实例。
appium -U xxxxxxx -a 127.0.0.1 -p 4725 -bp 4728 --no-reset
我还有一个用于处理 ui 元素的 Java 类,我在其中使用以下内容初始化我的 Android 驱动程序
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
caps.setCapability("deviceName", "Device");
caps.setCapability("platformVersion", "5.0");
caps.setCapability("udid", "xxxxxxx");
caps.setCapability("appPackage", "yyyyyyy");
caps.setCapability("appActivity", "zzzzz");
driver = new AndroidDriver(new URL("http://127.0.0.1:4725/wd/hub"), caps);
但在每次运行时,初始化都会失败并显示以下内容:
[exec] Unhandled error: Error: connect ECONNREFUSED 127.0.0.1:4728
[exec] at Object.exports._errnoException (util.js:874:11)
[exec] at exports._exceptionWithHostPort (util.js:897:20)
当我尝试使用 telnet 本地端口时
$telnet localhost 4728
它失败了
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused
是在设备上打开引导端口还是在主机本身上打开。如果它在主机本身上,为什么 appium 服务器没有打开(或无法打开)端口?任何人都可以帮助解决导致问题的根源吗?我在初始化时做错了吗?
【问题讨论】:
【参考方案1】:我认为问题出在这里:
driver = new AndroidDriver(new URL("http://127.0.0.1:4725/wd/hub"), caps);
这表示 Selenium Grid Hub 正在使用 端口 4725,但是;
appium -U xxxxxxx -a 127.0.0.1 -p 4725 -bp 4728 --no-reset
表示 端口 4725 用于 Selenium Grid 节点。
您需要使用正确的集线器端口更正 java,或者如果正在使用 4725,则需要为节点指定一个新端口。
希望这会有所帮助。
【讨论】:
以上是关于通过 shell 脚本启动 appium 服务器的问题的主要内容,如果未能解决你的问题,请参考以下文章