国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python+uiautomator2實現手機鎖屏解鎖功能

瀏覽:21日期:2022-06-20 16:26:06

業務需求:需要測試手機滑動解鎖失敗時事件的次數及等待的時間,本來想利用Python+Appium實現,但是Appium運行時自動給我解鎖了....

部分解釋摘抄自:https://testerhome.com/topics/11357

python-uiautomator2是一個自動化測試開源工具,僅支持Android平臺的原生應用測試

python-uiautomator2封裝了谷歌自帶的uiautomator2測試框架,提供便利的python接口。他允許測試人員直接在PC上編寫Python的測試代碼,操作手機應用,完成自動化,大大提高了自動化代碼編寫的效率

以下圖片使用Windows畫圖軟件

Python+uiautomator2實現手機鎖屏解鎖功能

如圖所示,python-uiautomator2主要分為兩個部分,python客戶端,移動設備

python端: 運行腳本,并向移動設備發送HTTP請求 移動設備:移動設備上運行了封裝了uiautomator2的HTTP服務,解析收到的請求,并轉化成uiautomator2的代碼。

整個過程

在移動設備上安裝atx-agent(守護進程), 隨后atx-agent啟動uiautomator2服務(默認7912端口)進行監聽 在PC上編寫測試腳本并執行(相當于發送HTTP請求到移動設備的server端) 移動設備通過WIFI或USB接收到PC上發來的HTTP請求,執行制定的操作安裝工具 Python2或者Python3均可。(也可以嘗試使用Android上Python客戶端:QPython) 移動設備環境搭建

安裝adb

如命令行可以執行adb devices,則跳過此步驟從谷歌官網下載Android Platform Tools https://developer.android.com/studio/releases/platform-tools.html,解壓,并加包含adb.exe的目錄加入到系統的PATH中。

安裝python-uiautomator2

pip install --pre -U uiautomator2

設備安裝atx-agent

首先設備連接到PC,并能夠adb devices發現該設備。

# 從github下載atx-agent文件,并推送到手機。在手機上安裝包名為`com.github.uiautomator`的apk$ python -m uiautomator2 initsuccess

最后提示success,代表atx-agent初始化成功。

應用及操作

調用uiautomator2的過程

配置手機設備參數,設置具體操作的是哪一臺手機 抓取手機上應用的控件,制定對應的控件來進行操作 對抓取到的控件進行操作,比如點擊、填寫參數等。

配置手機設備參數

python-uiautomator2連接手機的方式有兩種,一種是通過WIFI,另外一種是通過USB。兩種方法各有優缺點。WIFI最便利的地方要數可以不用連接數據線,USB則可以用在PC和手機網絡不在一個網段用不了的情況。

1,使用WIFI連接

手機獲取到手機的IP,并確保電腦可以PING通手機。手機的IP可以在設置-WIFI設置里面獲取到。比如手機的IP是192.168.0.100,連接設備的代碼為

import uiautomator2 as u2d = u2.connect(’192.168.0.100’)

2.使用USB連接

手機的序列號可以通過adb devices獲取到,假設序列號是123456f,連接代碼為

import uiautomator2 as u2d = u2.connect_usb(’123456f’)

抓取手機上應用的控件

我這里使用的weditor,

1.終端中輸入 pip install weditor安裝weditor

2.終端中輸入python -m weditor啟動weditor

下圖為網頁的截圖

Python+uiautomator2實現手機鎖屏解鎖功能

然后再選取元素定位就可以完成本次需求

代碼如下:

#_*_ coding:utf-8_*_import uiautomator2 as u2import reimport time STOP_COUNT=150d = u2.connect() #輸入滑動解鎖碼def do_password(count): #通過weditor獲取到的圖案位置 d.swipe_points([(0.304, 0.431), (0.507, 0.435), (0.5, 0.636)], 0.1) #檢驗是否輸入正確def do_check(): #檢查輸入密碼是否達到現在 if d(resourceId='android:id/message').exists:message = d(resourceId='android:id/message').get_text()#取得輸密碼的次數times = re.findall(’d+’, message)[0]#需要等待的時間timeout = re.findall(’d+’, message)[1]print('暫時不能輸入密碼,這是第$s次輸入,需要等待%s才可以再次輸入' % (times, timeout))return True, times, timeout else:print('可以輸入')return False, 0, 0 count = 0 while True: ret, times, timeout = do_check() if ret:d.screenshot(times + 'times_' + timeout + 's.jpg')if int(times) >= STOP_COUNT: breaktime.sleep(int(timeout))d(resourceId='android:id/button3').click() count = count + 1 do_password(count)

效果圖:

Python+uiautomator2實現手機鎖屏解鎖功能

到此這篇關于Python+uiautomator2實現手機鎖屏解鎖功能的文章就介紹到這了,更多相關python uiautomator2手機鎖屏解鎖內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品亚洲专一区二区三区 | 日韩一区二区不卡 | 日本爽快片100色毛片 | 日韩美视频网站 | 日本欧美国产精品 | 亚洲在线网址 | 亚洲超大尺度激情啪啪人体 | 中文字幕一区二区三区精彩视频 | 亚洲成人一区二区 | 久草在线视频网 | 国产成人亚洲毛片 | 欧美在线bdsm调教一区 | 成人18免费网站在线观看 | 国产男女免费视频 | 国产成人在线免费视频 | 欧美久久视频 | 日韩一品在线播放视频一品免费 | 久草首页在线 | 91精品国产免费 | 国内自拍网站 | 国产区香蕉精品系列在线观看不卡 | 亚洲视频在线观看网址 | 一本色道久久88综合亚洲精品高清 | 成人高清在线观看播放 | 欧美黄色精品 | 久久99国产乱子伦精品免 | 韩国毛片免费看 | 日本在线 | 中文 | 精品一区二区三区中文字幕 | 国产一线视频在线观看高清 | a级欧美片免费观看 | 色综合久久88色综合天天 | 台湾三级香港三级在线理论 | 亚洲欧美久久 | 三级午夜三级三点在看 | 日韩欧美中文字幕一区二区三区 | 精品久久影院 | 国产美女作爱视频 | 欧美真人毛片动作视频 | 在线视频亚洲一区 | 波多野结衣在线不卡 |