app自動化問題點整理

一、配置SDK環境發現adb沒法生效:java

解決方案:android

  這個問題通常就是你的環境變量沒有配置好,不少同窗比較容易出現的點就是win10系統的環境變量配置:git

必定要注意打開path添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;這個配置的時候必定要先點擊新建再分別在兩行建立win7系統是直接粘貼到path變量值後面便可),而且分號不須要!!!github

 

二、經過adb命令獲取前臺包名和類名出現下面錯誤:web

解決方案:chrome

  在windows環境變量中檢查path中是否有%SystemRoot%\system32;%SystemRoot%這個配置,如不存在,添加進行保存便可。shell

注意:在android 7.0如下能夠用此命令進行查詢,可是在android 8.0上dumpsys activity的信息已經有變化,不能使用mFocusedActivity小程序

須要使用:windows

  adb shell dumpsys activity | find "mResumedActivity"微信小程序

 

三、appium inspector工具開啓session出來下面提示:

Error: Activity used to start app doesn't exist or cannot be launched! Make usre it exists and is launchable activity

 

解決方案:

  這種問題通常就是你的appActivity寫錯,須要確認你對應測試入口Activity是否正確:經過aapt dump badging apk路徑獲得lunchable-activity對應的類名

 

四、androidDriver.startActivity方法不存在

解決方案:

  將Java Compiler改爲1.8,由於startActivity方法在接口中定義成default,這是JDK1.8+的新特性。

 

五、Hybrid混合應用切換appium中提示:

[MJSONWP] Encountered internal error running command: Error: Could not find package com.android.chrome on the device

解決方案:

  Could not find package com.android.chrome on the device測試手機/模擬器中沒有安裝chrome瀏覽器,去應用市場下載安裝一個便可。

 

六、微信小程序自動化appium提示:

Error: Failed to start Chromedriver session: 
An unknown server-side error occurred while processing the command. 
(Original error: unknown error: known package com.android.chrome does not accept activity/process

解決方案:

  java-client的版本切換到5.0.3,自測java-client 5.0.4及以上的版本會報此錯誤信息,Appium官方確認是selenium的BUG,因此小夥伴們測試微信小程序的時候最好使用5.0.3或者如下的版本。

 

七、Hybrid混合應用自動化腳本運行出來下面提示:

[Chromedriver] error: No Chromedriver found that can automate Chrome '39.0.0'

解決方案:

  一、肯定在手機端有安裝chrome瀏覽器

  二、chromedriver的版本和webview版本須要對應上

參考連接:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md

 

八、DesiredCapability屬性deviceName無效問題:

  在代碼中經過deviceName指定運行的設備會發現無效,Appium有作了說明

deviceName屬性在代碼中配置了是無效的,可是Appium初始化的時候必需要有,不然會報錯,很坑有木有。

 

九、指定automationName爲UIAutomator2,若是有涉及到多設備併發執行,那麼每一個AppiumServer中UIAutomator2對應的端口都須要配置:

默認UIAutomator2端口爲8200,能夠本身在代碼中指定

desiredCapabilities.setCapability("systemPort", 8202);
相關文章
相關標籤/搜索