激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python+uiautomator2實現手機鎖屏解鎖功能

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

2021-10-23 17:05limingyong92 Python

python-uiautomator2封裝了谷歌自帶的uiautomator2測試框架,提供便利的python接口,這篇文章給大家介紹使用Python+uiautomator2實現手機鎖屏解鎖(期望輸入的鎖屏密碼,基于滑動解鎖),感興趣的朋友一起看看吧

業務需求:需要測試手機滑動解鎖失敗時事件的次數及等待的時間,本來想利用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的代碼。

整個過程

  1. 在移動設備上安裝atx-agent(守護進程), 隨后atx-agent啟動uiautomator2服務(默認7912端口)進行監聽
  2. 在PC上編寫測試腳本并執行(相當于發送HTTP請求到移動設備的server端)
  3. 移動設備通過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 init
success

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

應用及操作

調用uiautomator2的過程

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

配置手機設備參數

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

1,使用WIFI連接

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

import uiautomator2 as u2
d = u2.connect("192.168.0.100")

2.使用USB連接

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

import uiautomator2 as u2
d = u2.connect_usb("123456f")

抓取手機上應用的控件

我這里使用的weditor,

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

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

下圖為網頁的截圖

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

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

代碼如下:

#_*_ coding:utf-8_*_
import uiautomator2 as u2
import re
import time
 
STOP_COUNT=150
d = 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:
            break
        time.sleep(int(timeout))
        d(resourceId="android:id/button3").click()
    count = count + 1
    do_password(count)

效果圖:

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

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

原文鏈接:https://blog.csdn.net/qq_35661796/article/details/84075824

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一二三区视频 | 国产视频精品在线 | 日韩毛片免费观看 | 99国产精品国产免费观看 | 91网视频 | 成人444kkkk在线观看 | 操碰网| 色淫湿视频 | 91网站在线播放 | 欧美精品一区自拍a毛片在线视频 | 在线播放视频一区二区 | 石原莉奈日韩一区二区三区 | 国产精品999在线观看 | 在线观看国产一区二区 | 成人免费一区二区三区视频网站 | 成人免费视频视频在线观看 免费 | 欧美成人精品h版在线观看 久久久久久三区 | 欧美999| 大学生一级毛片在线视频 | 国产日韩在线观看一区 | 成人毛片网站 | 黄色免费影片 | 亚洲成人福利网站 | 91久久综合 | 黄色一级视频 | 91久久久久久久久久 | 国产成人精品自拍视频 | 石原莉奈日韩一区二区三区 | 久久羞羞 | 国产成人精品免费视频大全最热 | 日本黄色免费片 | 免费久久精品 | 一级黄色影片在线观看 | 毛片毛片免费看 | 少妇一级淫片免费放4p | 毛片免费看网站 | 日韩一级免费 | 国产一区二区三区四区五区加勒比 | 九一免费版在线观看 | 一级做受毛片免费大片 | 美女视频黄a视频免费全过程 |