2017-08-25 56 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