日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 手机测试_python脚本如何测试手机

發(fā)布時(shí)間:2024/9/19 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 手机测试_python脚本如何测试手机 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、adb 相關(guān)命令:

1、關(guān)閉adb服務(wù):adb kill-server

2、啟動(dòng)adb服務(wù)? adb start-server

3、查詢當(dāng)前運(yùn)行的所有設(shè)備? adb devices

4、可能在adb中存在多個(gè)虛擬設(shè)備運(yùn)行 可以指定虛擬設(shè)備運(yùn)行? -s 虛擬設(shè)備名稱

5、重啟設(shè)備 adb reboot? --指定虛擬設(shè)備? ?adb -s 設(shè)備名稱 reboot

6、查看日志? adb logcat? 清除日志 adb logcat -c

7、進(jìn)入linux shell下? adb shell 其中常用的linux命令? cd? cat 等等 輸入su可以獲取超級(jí)管理員名稱了 要確定是否有哪些命令 進(jìn)入 system/bin目錄 就知道了

8、傳入文件到設(shè)備中 adb push 本地文件 遠(yuǎn)程目錄

9、從設(shè)備中拷貝文件到本地? adb -s emulator-5556 pull /data/config.ini d:/

10、顯示當(dāng)前運(yùn)行的全部模擬器:

adb devices

安裝應(yīng)用程序:

adb install -r 123.apk

12、獲取模擬器中的文件:

adb pull

13、向模擬器中寫文件:

adb push

14、進(jìn)入模擬器的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、刪除系統(tǒng)應(yīng)用:

adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)。

adb shell

cd system/app

rm 123.apk

18、獲取管理員權(quán)限:

adb root

19、復(fù)制文件:

復(fù)制一個(gè)文件或目錄到設(shè)備:

adb push

如:adb push update.zip /sdcard/

從設(shè)備上復(fù)制一個(gè)文件或目錄:

adb pull

如:adb pull /sdcard/update.zip.

20、取得當(dāng)前運(yùn)行設(shè)備的實(shí)例的列表及每個(gè)實(shí)例的狀態(tài):

adb devices

21、adb shell input tap

這條命令模擬Android手機(jī)在屏幕坐標(biāo)(X,Y)處進(jìn)行了點(diǎn)擊操作。

22、adb shell input swipe

這條命令模擬Android手機(jī)從屏幕坐標(biāo)(X1,Y1)滑動(dòng)到坐標(biāo)(X2,Y2)的操作。

23、uiautomator dump? ?dump: creates an XML dump of current UI hierarchy 這個(gè)命令是用來成成當(dāng)前界面的UI層次,并用XML格式進(jìn)行展示 。這樣就可以獲取各個(gè)組件的位置了

注:如果PC要想同時(shí)控制多臺(tái)Android手機(jī),必須在adb 后面添加-s

例如:adb -s 13b6e4c4 shell input tap 400 400

表示對(duì)13b6e4c4這臺(tái)Android手機(jī)進(jìn)行在屏幕上(400,400)坐標(biāo)位置進(jìn)行模擬的點(diǎn)擊事件。

24、能看到設(shè)備信息就代表設(shè)備已經(jīng)連接成功了,接下來的命令就是adb install 路徑+包名.apk

例如我的安裝包放在桌面,那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk

*** adb shell uiautomator dump /mnt/sdcard/window_dump.xml 獲得手機(jī)當(dāng)前界面的UI信息,生成window_dump.xml

*** adb shell input text “123” 輸入text

舉例:

1、打開cmd,進(jìn)入到當(dāng)前文件夾中,輸入命令 adb devices 查看當(dāng)前與電腦連接的設(shè)備(前提是,手機(jī)打開usb調(diào)試模式),可以查看已連接成功的手機(jī)。

2、若手機(jī)成功連接,輸入命令 adb shell input tap 100 100 , 表示點(diǎn)擊屏幕上坐標(biāo)為(100,100)的點(diǎn),如果不知道需要點(diǎn)擊的點(diǎn)的具體位置的話可以在手機(jī)開發(fā)者模式中設(shè)置。

二、adb 模擬按鍵:

1. 比如使用 adb shell input keyevent 命令,不同的 keycode 能實(shí)現(xiàn)不同的功能,完整的 keycode 列表詳見 KeyEvent,摘引部分我覺得有意思的如下:

2. input 命令的一些用法舉例

電源鍵

命令:adb?shell?input?keyevent?26

執(zhí)行效果相當(dāng)于按電源鍵。

菜單鍵

命令: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

恢復(fù)播放:adb?shell?input?keyevent?126

暫停播放:adb?shell?input?keyevent?127

點(diǎn)亮/熄滅屏幕

可以通過上文講述過的模擬電源鍵來切換點(diǎn)亮和熄滅屏幕,但如果明確地想要點(diǎn)亮或者熄滅屏幕,那可以使用如下方法。

點(diǎn)亮屏幕:adb?shell?input?keyevent?224

熄滅屏幕:adb?shell?input?keyevent?223

三、使用python腳本自動(dòng)運(yùn)行cmd命令

在adb文件夾下建立一個(gè)python文件import?os

os.system('adb?shell?input?tap?100?100');

運(yùn)行腳本,發(fā)現(xiàn)與在命令行輸入相同語句有同樣的效果。

也可以使用subprocess.Popen,最簡(jiǎn)單使用方式如下,設(shè)置shell=True,就不會(huì)彈出cmd框process?=?subprocess.Popen('adb?shell?input?tap?14?1402',shell=True)

程序?qū)嵗?#xff1a;#coding:utf-8

#程序功能:可以實(shí)現(xiàn)抖音個(gè)人頁面視頻的自動(dòng)點(diǎn)擊,從而自動(dòng)增加訪問量

#思路:抖音主頁中兩個(gè)視頻切換點(diǎn)擊,可以實(shí)現(xiàn)訪問量的增加

#使用ADB程序,視頻的屏幕坐標(biāo)可以使用adb?shell?uiautomator?dump命令,獲取該頁面xml源碼后查得

#下述是小米MIX2抖音主頁第一個(gè)視頻和第二個(gè)視頻的坐標(biāo)位置

#缺點(diǎn):運(yùn)行時(shí)不能移動(dòng)屏幕,后續(xù)可以采用獲取模塊ID號(hào)的方式去點(diǎn)擊相應(yīng)的位置

import?time

import?subprocess

i?=?0

#每次操作的間隔時(shí)間取決于手機(jī)配置,配置越高時(shí)間越短

sleep_time?=?0.5

while?1:

#用popen設(shè)置shell=True不會(huì)彈出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'

實(shí)現(xiàn)原理

Hierarchy Viewer:獲得當(dāng)前手機(jī)實(shí)時(shí)的UI信息,方便用于手機(jī)的自動(dòng)化測(cè)試;

python中的subprocess.Popen() 或 Python os模塊:調(diào)用系統(tǒng)命令;

uiautomator工具:獲取界面控件信息;

adb命令:對(duì)手機(jī)進(jìn)行操作;

總結(jié)

以上是生活随笔為你收集整理的python 手机测试_python脚本如何测试手机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。