2017-08-25 86 views
1

我使用Java,硒和appium在AndroidJava的硒和Appium不起作用

自动化测试Web应用程序无法启动REST HTTP接口监听器我用这个代码:

 service = AppiumDriverLocalService.buildDefaultService(); 
     service.start(); 
     if (service == null || !service.isRunning()) 
      throw new AppiumServerHasNotBeenStartedLocallyException("An appium server node is not started!"); 
     DesiredCapabilities capabilitiesAndroid = new DesiredCapabilities(); 
     capabilitiesAndroid.setCapability("deviceName", "Android Emulator"); 
     capabilitiesAndroid.setCapability("deviceOrientation", "portrait"); 
     capabilitiesAndroid.setCapability("platformVersion", "8.0.0"); 
     capabilitiesAndroid.setCapability("platformName", "Android"); 
     capabilitiesAndroid.setCapability("browserName", "Chrome"); 
     driver = new AndroidDriver<WebElement>(capabilitiesAndroid); 

随着同样的参数我可以在appium中打开新的会话。在Java中,我得到了2次这个错误:

[Appium] Welcome to Appium v1.6.5 
[HTTP] Could not start REST http interface listener. The requested port may already be in use. Please make sure there is no other instance of this server running already. 

Error: listen EADDRINUSE 0.0.0.0:4723 
    at Object._errnoException (util.js:1041:11) 
    at _exceptionWithHostPort (util.js:1064:20) 
    at Server.setupListenHandle [as _listen2] (net.js:1322:14) 
    at listenInCluster (net.js:1370:12) 
    at doListen (net.js:1492:7) 
    at _combinedTickCallback (internal/process/next_tick.js:141:11) 
    at process._tickCallback (internal/process/next_tick.js:180:9) 

我还没有开始处理node.exe。任何人都知道为什么它不起作用?

回答

2

您不能使用相同的端口来初始化一个实例。你可以用不同的端口初始化。您的代码尝试每次都使用相同的端口号初始化实例。您可以使用下面的代码来解决问题。

service = AppiumDriverLocalService.buildService(new 
     AppiumServiceBuilder().usingDriverExecutable(new File(
     "C:\\Program Files\\nodejs\\node.exe")) .withAppiumJS(new File(
     "C:\Users\YourUserName\AppData\Roaming\npm\node_modules\appium\build\lib\main.js" 
    )) .withIPAddress("127.0.0.1").usingAnyFreePort()); 

    service.start(); 
+0

谢谢你的帮助,但我已经在这条道路不是appium.js,我这里.. \应用程序数据\漫游\故宫\ node_modules \ appium \建立\ LIB \ appium.js - 当我把这个路径发生错误'io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException:本地appium服务器尚未启动。给定的Node.js可执行文件:C:\ Program Files \ nodejs \ node.exe参数:[C:\ Users \ UserName \ AppData \ Roaming \ npm \ node_modules \ appium \ build \ lib \ appium.js,--port, 12619, - 地址,127.0.0.1]' –

+0

当我删除withAppiumJS发生只有一次错误从我的主要帖子,但在Android上的铬运行成功,但是当一些行动如click()必须执行时发生错误java.lang.NullPointerException on click()函数 –

+0

我已经编辑了答案中的路径,你可以尝试用新路径运行 – Vinod