通过shell脚本

时间:2015-10-26 07:18:45

标签: android selenium appium uiautomator ui-testing

我一直在尝试使用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服务器无法打开(或无法打开)端口?任何人都可以帮助root导致问题吗?我在初始化时做错了吗?

1 个答案:

答案 0 :(得分:0)

我认为问题在于:

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网格节点。

您需要使用正确的Hub端口更正java,或者如果使用4725,则需要为Node指定新端口。

希望这有帮助。