最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+uiautomator2實現(xiàn)手機鎖屏解鎖功能

 更新時間:2021年04月30日 09:41:05   作者:limingyong92  
python-uiautomator2封裝了谷歌自帶的uiautomator2測試框架,提供便利的python接口,這篇文章給大家介紹使用Python+uiautomator2實現(xiàn)手機鎖屏解鎖(期望輸入的鎖屏密碼,基于滑動解鎖),感興趣的朋友一起看看吧

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

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

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

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

以下圖片使用Windows畫圖軟件

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

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

整個過程

  1. 在移動設備上安裝atx-agent(守護進程), 隨后atx-agent啟動uiautomator2服務(默認7912端口)進行監(jiān)聽
  2. 在PC上編寫測試腳本并執(zhí)行(相當于發(fā)送HTTP請求到移動設備的server端)
  3. 移動設備通過WIFI或USB接收到PC上發(fā)來的HTTP請求,執(zhí)行制定的操作

安裝工具

  • Python2或者Python3均可。(也可以嘗試使用Android上Python客戶端:QPython)
  • 移動設備

環(huán)境搭建

安裝adb

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

安裝python-uiautomator2

pip install --pre -U uiautomator2

設備安裝atx-agent

首先設備連接到PC,并能夠adb devices發(fā)現(xiàn)該設備。

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

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

應用及操作

調(diào)用uiautomator2的過程

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

配置手機設備參數(shù)

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

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

下圖為網(wǎng)頁的截圖

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

代碼如下:

#_*_ 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():
    #檢查輸入密碼是否達到現(xiàn)在
    if d(resourceId="android:id/message").exists:
        message = d(resourceId="android:id/message").get_text()
        #取得輸密碼的次數(shù)
        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實現(xiàn)手機鎖屏解鎖功能的文章就介紹到這了,更多相關python uiautomator2手機鎖屏解鎖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Windows下創(chuàng)建定時任務執(zhí)行Python腳本的方法實現(xiàn)

    Windows下創(chuàng)建定時任務執(zhí)行Python腳本的方法實現(xiàn)

    Python定時任務執(zhí)行,本文主要介紹了Windows下創(chuàng)建定時任務執(zhí)行Python腳本的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Python后臺開發(fā)Django會話控制的實現(xiàn)

    Python后臺開發(fā)Django會話控制的實現(xiàn)

    這篇文章主要介紹了Python后臺開發(fā)Django會話控制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 使用Python FastAPI構建Web服務的實現(xiàn)

    使用Python FastAPI構建Web服務的實現(xiàn)

    這篇文章主要介紹了使用Python FastAPI構建Web服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 最新評論

    天门市| 饶阳县| 布尔津县| 红安县| 石棉县| 龙陵县| 盐亭县| 宜州市| 徐汇区| 大姚县| 邓州市| 抚宁县| 博爱县| 台东县| 三门峡市| 淳安县| 大足县| 嘉善县| 平安县| 株洲县| 台南县| 兴城市| 金门县| 绿春县| 临猗县| 锦州市| 十堰市| 兴仁县| 贡山| 慈溪市| 邹平县| 三亚市| 桃园县| 康平县| 屯留县| 河东区| 满城县| 东台市| 滦平县| 澜沧| 镇原县|