app自動化問題點整理


1、配置SDK環境發現adb無法生效:

解決方案:

  這個問題一般就是你的環境變量沒有配置好,很多同學比較容易出現的點就是win10系統的環境變量配置:

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

 

2、通過adb命令獲取前台包名和類名出現下面錯誤:

解決方案:

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

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

需要使用:

  adb shell dumpsys activity | find "mResumedActivity"

 

3、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對應的類名

 

4、androidDriver.startActivity方法不存在

解決方案:

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

 

5、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瀏覽器,去應用市場下載安裝一個即可。

 

6、微信小程序自動化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或者以下的版本。

 

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

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

解決方案:

  1、確定在手機端有安裝chrome瀏覽器

  2、chromedriver的版本和webview版本需要對應上

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

 

8、DesiredCapability屬性deviceName無效問題:

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

deviceName屬性在代碼中配置了是無效的,但是Appium初始化的時候必須要有,否則會報錯,很坑有木有。

 

9、指定automationName為UIAutomator2,如果有涉及到多設備並發執行,那么每個AppiumServer中UIAutomator2對應的端口都需要配置:

默認UIAutomator2端口為8200,可以自己在代碼中指定

desiredCapabilities.setCapability("systemPort", 8202);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM