python 手机测试_python脚本如何测试手机
一、adb 相關命令:
1、關閉adb服務:adb kill-server
2、啟動adb服務? adb start-server
3、查詢當前運行的所有設備? adb devices
4、可能在adb中存在多個虛擬設備運行 可以指定虛擬設備運行? -s 虛擬設備名稱
5、重啟設備 adb reboot? --指定虛擬設備? ?adb -s 設備名稱 reboot
6、查看日志? adb logcat? 清除日志 adb logcat -c
7、進入linux shell下? adb shell 其中常用的linux命令? cd? cat 等等 輸入su可以獲取超級管理員名稱了 要確定是否有哪些命令 進入 system/bin目錄 就知道了
8、傳入文件到設備中 adb push 本地文件 遠程目錄
9、從設備中拷貝文件到本地? adb -s emulator-5556 pull /data/config.ini d:/
10、顯示當前運行的全部模擬器:
adb devices
安裝應用程序:
adb install -r 123.apk
12、獲取模擬器中的文件:
adb pull
13、向模擬器中寫文件:
adb push
14、進入模擬器的shell模式:
adb shell
15、卸載apk包:
adb shell
cd data/app
rm 123.apk
exit
adb uninstall 123.apk
adb install -r 123.apk
16、查看adb命令幫助信息:
adb help
17、刪除系統應用:
adb remount (重新掛載系統分區,使系統分區重新可寫)。
adb shell
cd system/app
rm 123.apk
18、獲取管理員權限:
adb root
19、復制文件:
復制一個文件或目錄到設備:
adb push
如:adb push update.zip /sdcard/
從設備上復制一個文件或目錄:
adb pull
如:adb pull /sdcard/update.zip.
20、取得當前運行設備的實例的列表及每個實例的狀態:
adb devices
21、adb shell input tap
這條命令模擬Android手機在屏幕坐標(X,Y)處進行了點擊操作。
22、adb shell input swipe
這條命令模擬Android手機從屏幕坐標(X1,Y1)滑動到坐標(X2,Y2)的操作。
23、uiautomator dump? ?dump: creates an XML dump of current UI hierarchy 這個命令是用來成成當前界面的UI層次,并用XML格式進行展示 。這樣就可以獲取各個組件的位置了
注:如果PC要想同時控制多臺Android手機,必須在adb 后面添加-s
例如:adb -s 13b6e4c4 shell input tap 400 400
表示對13b6e4c4這臺Android手機進行在屏幕上(400,400)坐標位置進行模擬的點擊事件。
24、能看到設備信息就代表設備已經連接成功了,接下來的命令就是adb install 路徑+包名.apk
例如我的安裝包放在桌面,那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk
*** adb shell uiautomator dump /mnt/sdcard/window_dump.xml 獲得手機當前界面的UI信息,生成window_dump.xml
*** adb shell input text “123” 輸入text
舉例:
1、打開cmd,進入到當前文件夾中,輸入命令 adb devices 查看當前與電腦連接的設備(前提是,手機打開usb調試模式),可以查看已連接成功的手機。
2、若手機成功連接,輸入命令 adb shell input tap 100 100 , 表示點擊屏幕上坐標為(100,100)的點,如果不知道需要點擊的點的具體位置的話可以在手機開發者模式中設置。
二、adb 模擬按鍵:
1. 比如使用 adb shell input keyevent 命令,不同的 keycode 能實現不同的功能,完整的 keycode 列表詳見 KeyEvent,摘引部分我覺得有意思的如下:
2. input 命令的一些用法舉例
電源鍵
命令:adb?shell?input?keyevent?26
執行效果相當于按電源鍵。
菜單鍵
命令:adb?shell?input?keyevent?82
HOME 鍵
命令:adb?shell?input?keyevent?3
返回鍵
命令:adb?shell?input?keyevent?4
音量控制
增加音量:adb?shell?input?keyevent?24
降低音量:adb?shell?input?keyevent?25
靜音:adb?shell?input?keyevent?164
媒體控制
播放/暫停:adb?shell?input?keyevent?85
停止播放:adb?shell?input?keyevent?86
播放下一首:adb?shell?input?keyevent?87
播放上一首:adb?shell?input?keyevent?88
恢復播放:adb?shell?input?keyevent?126
暫停播放:adb?shell?input?keyevent?127
點亮/熄滅屏幕
可以通過上文講述過的模擬電源鍵來切換點亮和熄滅屏幕,但如果明確地想要點亮或者熄滅屏幕,那可以使用如下方法。
點亮屏幕:adb?shell?input?keyevent?224
熄滅屏幕:adb?shell?input?keyevent?223
三、使用python腳本自動運行cmd命令
在adb文件夾下建立一個python文件import?os
os.system('adb?shell?input?tap?100?100');
運行腳本,發現與在命令行輸入相同語句有同樣的效果。
也可以使用subprocess.Popen,最簡單使用方式如下,設置shell=True,就不會彈出cmd框process?=?subprocess.Popen('adb?shell?input?tap?14?1402',shell=True)
程序實例:#coding:utf-8
#程序功能:可以實現抖音個人頁面視頻的自動點擊,從而自動增加訪問量
#思路:抖音主頁中兩個視頻切換點擊,可以實現訪問量的增加
#使用ADB程序,視頻的屏幕坐標可以使用adb?shell?uiautomator?dump命令,獲取該頁面xml源碼后查得
#下述是小米MIX2抖音主頁第一個視頻和第二個視頻的坐標位置
#缺點:運行時不能移動屏幕,后續可以采用獲取模塊ID號的方式去點擊相應的位置
import?time
import?subprocess
i?=?0
#每次操作的間隔時間取決于手機配置,配置越高時間越短
sleep_time?=?0.5
while?1:
#用popen設置shell=True不會彈出cmd框
process?=?subprocess.Popen('adb?shell?input?tap?14?1402',shell=True)
time.sleep(sleep_time)
process?=?subprocess.Popen('adb?shell?input?keyevent?KEYCODE_BACK',?shell=True)
time.sleep(sleep_time)
process?=?subprocess.Popen('adb?shell?input?tap?375?1402',?shell=True)
time.sleep(sleep_time)
process?=?subprocess.Popen('adb?shell?input?keyevent?KEYCODE_BACK',?shell=True)
time.sleep(sleep_time)
#os.system('adb?shell?input?tap?14?1402')
#os.system('adb?shell?input?keyevent?KEYCODE_BACK')
#os.system('adb?shell?input?tap?375?1402')
i+=1
print?str(i)?+?'clicks?have?been?completed'
實現原理
Hierarchy Viewer:獲得當前手機實時的UI信息,方便用于手機的自動化測試;
python中的subprocess.Popen() 或 Python os模塊:調用系統命令;
uiautomator工具:獲取界面控件信息;
adb命令:對手機進行操作;
總結
以上是生活随笔為你收集整理的python 手机测试_python脚本如何测试手机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小狗扫地机器人与石头_当戴森遇到石头机器
- 下一篇: kafka修改分区数_Kafka笔记