通過 AppiumDriverLocalSerivce 無法啟動 appium service 問題

來源:互聯網
上載者:User

標籤:sed   node.js   cti   start   lag   str   date   lib   osi   

問題背景描述

通過官方提供的 AppiumDriverLocalService 方法,代碼啟動 appium server

 1 import io.appium.java_client.service.local.AppiumDriverLocalService; 2 import io.appium.java_client.service.local.AppiumServiceBuilder; 3 import io.appium.java_client.service.local.flags.GeneralServerFlag; 4  5  6 /** 7  * @author KingDow 8  * @date 2018/5/18 17:31 9  */10 public class AppiumDriverTest {11 12     public static void main(String[] args) {13 14         AppiumServiceBuilder builder = new AppiumServiceBuilder()15                 .withArgument(GeneralServerFlag.SESSION_OVERRIDE)16                 .withIPAddress("127.0.0.1")17                 .usingAnyFreePort();18         AppiumDriverLocalService service = AppiumDriverLocalService.buildService(builder);19         service.start();20     }21 }

 

得到以下的報錯資訊

Exception in thread "main" io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException: The local appium server has not been started. The given Node.js executable: C:\Program Files\nodejs\node.exe Arguments: [C:\Users\KingDow\AppData\Roaming\npm\node_modules\appium\build\lib\main.js, --port, 8000, --address, 127.0.0.1, --session-override]     at io.appium.java_client.service.local.AppiumDriverLocalService.start(AppiumDriverLocalService.java:149)    at com.ziroom.vayne.appium.server.AppiumDriverTest.main(AppiumDriverTest.java:25)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:498)    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)Caused by: java.lang.NoSuchMethodError: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;    at org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:62)    at io.appium.java_client.service.local.AppiumDriverLocalService.ping(AppiumDriverLocalService.java:113)    at io.appium.java_client.service.local.AppiumDriverLocalService.start(AppiumDriverLocalService.java:136)    ... 6 moreProcess finished with exit code 1

 

問題分析定位

引用的第三方依賴包版本衝突,經尋找定位為 com.google.guava 版本太低導致,原版本20.0 中沒有 SimpleTimeLimiter create() 方法。

 

問題解決方案

更新guava最新版本後,查看源碼create() 方法存在

<!-- https://mvnrepository.com/artifact/com.google.guava/guava --><dependency>    <groupId>com.google.guava</groupId>    <artifactId>guava</artifactId>    <version>25.1-jre</version></dependency>

 

通過 AppiumDriverLocalSerivce 無法啟動 appium service 問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.