亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

python-uiautomator2是一個(gè)自動(dòng)化測(cè)試開(kāi)源工具,僅支持Android平臺(tái)的原生應(yīng)用測(cè)試

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

以下圖片使用Windows畫(huà)圖軟件

如圖所示,python-uiautomator2主要分為兩個(gè)部分,python客戶(hù)端,移動(dòng)設(shè)備

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

整個(gè)過(guò)程

  1. 在移動(dòng)設(shè)備上安裝atx-agent(守護(hù)進(jìn)程), 隨后atx-agent啟動(dòng)uiautomator2服務(wù)(默認(rèn)7912端口)進(jìn)行監(jiān)聽(tīng)
  2. 在PC上編寫(xiě)測(cè)試腳本并執(zhí)行(相當(dāng)于發(fā)送HTTP請(qǐng)求到移動(dòng)設(shè)備的server端)
  3. 移動(dòng)設(shè)備通過(guò)WIFI或USB接收到PC上發(fā)來(lái)的HTTP請(qǐng)求,執(zhí)行制定的操作

安裝工具

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

環(huán)境搭建

安裝adb

如命令行可以執(zhí)行adb devices,則跳過(guò)此步驟
從谷歌官網(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

設(shè)備安裝atx-agent

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

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

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

應(yīng)用及操作

調(diào)用uiautomator2的過(guò)程

  1. 配置手機(jī)設(shè)備參數(shù),設(shè)置具體操作的是哪一臺(tái)手機(jī)
  2. 抓取手機(jī)上應(yīng)用的控件,制定對(duì)應(yīng)的控件來(lái)進(jìn)行操作
  3. 對(duì)抓取到的控件進(jìn)行操作,比如點(diǎn)擊、填寫(xiě)參數(shù)等。

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

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

1,使用WIFI連接

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

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

2.使用USB連接

手機(jī)的序列號(hào)可以通過(guò)adb devices獲取到,假設(shè)序列號(hào)是123456f,連接代碼為

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

抓取手機(jī)上應(yīng)用的控件

我這里使用的weditor,

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

2.終端中輸入python -m weditor啟動(dòng)weditor

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

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

代碼如下:

#_*_ coding:utf-8_*_
import uiautomator2 as u2
import re
import time
 
STOP_COUNT=150
d = u2.connect()
 
#輸入滑動(dòng)解鎖碼
def do_password(count):
    #通過(guò)weditor獲取到的圖案位置
    d.swipe_points([(0.304, 0.431), (0.507, 0.435), (0.5, 0.636)], 0.1)
 
 
#檢驗(yàn)是否輸入正確
def do_check():
    #檢查輸入密碼是否達(dá)到現(xiàn)在
    if d(resourceId="android:id/message").exists:
        message = d(resourceId="android:id/message").get_text()
        #取得輸密碼的次數(shù)
        times = re.findall('\d+', message)[0]
        #需要等待的時(shí)間
        timeout = re.findall('\d+', message)[1]
        print("暫時(shí)不能輸入密碼,這是第$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)

效果圖:

到此這篇關(guān)于Python+uiautomator2實(shí)現(xiàn)手機(jī)鎖屏解鎖功能的文章就介紹到這了,更多相關(guān)python uiautomator2手機(jī)鎖屏解鎖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • kafka監(jiān)控獲取指定topic的消息總量示例

    kafka監(jiān)控獲取指定topic的消息總量示例

    今天小編就為大家分享一篇kafka監(jiān)控獲取指定topic的消息總量示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python numpy創(chuàng)造圖像矩陣示例詳解

    python numpy創(chuàng)造圖像矩陣示例詳解

    這篇文章主要為大家介紹了python numpy創(chuàng)造圖像矩陣示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 淺析Python中壓縮zipfile與解壓縮tarfile模塊的使用

    淺析Python中壓縮zipfile與解壓縮tarfile模塊的使用

    Python?提供了兩個(gè)標(biāo)準(zhǔn)庫(kù)模塊來(lái)處理文件的壓縮和解壓縮操作:zipfile和tarfile,本文將分享?這兩個(gè)模塊的使用方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Python實(shí)現(xiàn)SSH遠(yuǎn)程登陸,并執(zhí)行命令的方法(分享)

    Python實(shí)現(xiàn)SSH遠(yuǎn)程登陸,并執(zhí)行命令的方法(分享)

    下面小編就為大家?guī)?lái)一篇Python實(shí)現(xiàn)SSH遠(yuǎn)程登陸,并執(zhí)行命令的方法(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Python讀取英文文件并記錄每個(gè)單詞出現(xiàn)次數(shù)后降序輸出示例

    Python讀取英文文件并記錄每個(gè)單詞出現(xiàn)次數(shù)后降序輸出示例

    這篇文章主要介紹了Python讀取英文文件并記錄每個(gè)單詞出現(xiàn)次數(shù)后降序輸出,涉及Python文件讀取、字符串替換、分割以及字典遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • python中l(wèi)ogging庫(kù)的使用總結(jié)

    python中l(wèi)ogging庫(kù)的使用總結(jié)

    Python的logging模塊提供了通用的日志系統(tǒng),可以方便第三方模塊或者是應(yīng)用使用,下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ogging庫(kù)使用的一些知識(shí)總結(jié),文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-10-10
  • python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用

    python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用

    這篇文章主要介紹了python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python讀取文件的三種方式總結(jié)

    Python讀取文件的三種方式總結(jié)

    Python的文本處理是經(jīng)常碰到的一個(gè)問(wèn)題,非常重要的,這篇文章主要和大家分享的是3個(gè)Python讀取文本文件內(nèi)容的常用方法,希望對(duì)大家深入學(xué)習(xí)Python有所幫助
    2023-07-07
  • Python3 pandas 操作列表實(shí)例詳解

    Python3 pandas 操作列表實(shí)例詳解

    這篇文章主要介紹了Python3 pandas 操作列表實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python中的流程控制詳解

    Python中的流程控制詳解

    這篇文章主要介紹了Python中的流程控制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02

最新評(píng)論