1. 程式人生 > >Appium+python使用中遇到的坑

Appium+python使用中遇到的坑

1. Appium版本過低導致導致無法執行真機

現象:Appium1.4.16版本API23(version6.0),而我的模擬機器一直是8.0,一直出錯,我開始也檢查不出什麼問題,只是覺得模擬器搞不定,要用個真機可能就沒問題了。結果買了個真機,仍舊不行,後來發現我的真機版本是8.1.1,而Appium最新只是6.0,這可能有問題,經過多次檢視後,發現的確國真就是這個原因

解決辦法:那就升級到1.6.2(伺服器1.8)的Appium,問題解決(下載連結:https://github.com/appium/appium-desktop/releases/tag/v1.6.2,點選下載)

2. 執行python指令碼啟動apk,一直提示許可權被拒

現象:用python指令碼做自動化測試時,提示:java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.siveco.bluebee.phone.supervisor/com.siveco.bluebee.core.activity.GetServerAddressActivity } from ProcessRecord{412d7170 1644:com.siveco.bluebee.project.productionfeedback/10056} (pid=1644, uid=10056) not exported from uid 10047

分析:在Appium中可以具體看到是執行哪步出錯。原來啟動apk需要執行adb shell am start -W -n packeage。而這個命令有侷限性,真機必須是root的(如果是安卓開發,就要解決Activity的問題了)

解決辦法:將真機root,或者選擇使用模擬器(推薦使用genymotion)