Appium環境搭建——安卓真機調試注意點


1、安卓設備連接失敗

通過adb devices命令 查看安卓設備的連接情況,如圖,未成功連接

解決方法:

(1)關閉360安全衛士和360手機助手
(2)查看5037端口是否被占用

netstat -ano|findstr 5037(windows)

netstat -lnt | grep 5037(linux)

 

連接成功:

 

 設備連接成功后,CMD命令行運行 appium -a 127.0.0.1 -p 4723 –U 6207febc --no-reset   ,看appium服務器能否運行成功(運行成功后,如果想啟動appium圖形界面,記得關閉命令行,否則會提示端口沖突)

 

 

2、

(1)解決每次運行腳本都安裝setting和unlock的問題:

 Appium\node_modules\appium\lib\devices\android 路徑下打開
android.js文件,注釋掉這兩行

 

(2)解決每次運行腳本都會重新安裝app的問題

Appium老版本的“設置”里有no reset選項,新版本沒有,解決方法:

1>命令行運行appium,帶上--noreset

appium -a 127.0.0.1 -p 4723 –U 6207febc --no-reset

2>在腳本里加上no reset設置

 self.desired_cups['noReset'] = 'True'

 

 

3、獲取app的包名和當前活動名:

adb shell

dumpsys activity | grep mFocusedActivity

 

注:有時候調用app的Activity無效,需要獲取到初始Activity,查看方法如下

進入aapt路徑下:D:\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\28.0.3

輸入命令: aapt dump badging C:\apk\kaoyanbang.apk | find "launchable-activity"

launchable-activity::com.xxx.xxx.xxx.xxx

 

4、允許第三方應用啟動app的activity:

android-sdk-windows\tools\apps\SdkController 路徑下打開

AndroidManifest.xml文件,添加一行:android:exported = "true"

 

 

5、運行自動化腳本,appium報錯

報錯1:selenium.common.exceptions.SessionNotCreatedException: Message: A new session could not be created. (Original error: Requested a new session but one was in progress)

(1)打開appium里面的override exsiting session功能

(2)殺掉app重新啟動

 

報錯2:報錯 webdriver

app卸載重裝后,需要重啟appium服務器,否則此時運行腳本,會報錯

 

重啟appium和pycharm解決了我百分之八十的報錯情況,后來我安裝了一個Appium-Desktop的新版,沒有再出現過頻繁報錯的問題,還是升級大法好。

每個錯誤的解釋和原因非常多,具體還是要看appium的日志詳情,再來具體分析。

 

6、Appium方法構造:

appium的 clear() 方法在安卓上不太好用,速度慢且光標跳轉容易異常,是個已知bug,建議寫一個刪除方法,封裝一下
1.獲取文本長度
2.跳到文本最后
3.刪除(全選后刪除或者一個個字符刪除)

 

 


免責聲明!

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



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