以下錯誤是本人碰到的一些問題,也是碰壁了好久,查了好多資料,最後找到的解決方案
錯誤1:
java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked(Ljava/lang/Throwable;)V
app啓動成功以後,報異常,提示下面一行代碼有問題
mDriver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
解決方案:
因爲我是用AS,所以在gradle中添加依賴 compile ‘com.google.guava:guava:23.0’
或者可以配置maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
<!-- or, for Android: -->
<version>23.0-android</version>
</dependency>
注意上面的版本號是我自己從guava的github上覆制的,最新版本點擊這裏
錯誤2
error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
這個問題之前碰壁了好久,想要獲取toast內容,但是加了
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
這段代碼以後,就報錯了,不加這段代碼就沒問題。
如果碰到這個錯誤,可以看看npm\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2這個文件夾下是否有io.appium.uiautomator2.server,io.appium.uiautomator2.server.test這個兩個apk,如果沒有自行下載再放進去。如果是因爲缺少這兩個apk的話,appium的log裏面會有提示,可以搜索下.apk,裏面有提示缺少了apk的。如果在這個文件夾下已經有這兩個apk了,那麼去手機確認下運行的時候是否安裝上了這兩個app。我用genymation,目錄下已經有了這兩個應用,但是還是運行不起來。最後通過adb安裝進去以後才正常運行。