使用python實現對安卓模擬器的自動化操作QQ!
阿新 • • 發佈:2019-01-10
這裡使用安卓模擬器自動實現qq登入,並且發一條說說,教程開始之前要安裝好python開發環境:在win7和ubuntu系統安裝Python開發環境,和安卓模擬器:使用夜神安卓模擬器建立安卓虛擬機器
安裝完成,就首先開啟Pycharm新建python專案,最好是在虛擬環境下面進行的,不影響系統的配置,hello.py就是寫程式碼的,pwd是讀取密碼
建好專案,在命令列安裝需要用的環境,
uiautomator2,pillow 這兩個模組,在Pycharm的Terminal命令視窗用pip安裝,這個在安裝python環境的時候預設安裝了的,
1#兩條安裝的命令,依次輸入 2pip install --upgrade --pre uiautomator2 3 4pip install pillow
安裝好依賴模組,還要在本地模擬器的adb做關聯檔案的安裝,用python -m uiautomator2 init 測試已連線的所有裝置。
初始化這時候會自動安裝這幾個檔案,因為有些檔案是要連線github會出現不穩定的情況,多嘗試幾次就好,出現圖片的介面,就說明初始化成功了。
uiautomator-server、
atx-agent、
openstf/minicap、
openstf/minitouch
開啟Pycharm這時候還要安裝一個叫weditor
的模組,同樣使用pip安裝,
1pip install -U weditor
命令列啟動 python -m weditor 會自動開啟瀏覽器,輸入裝置的ip或者序列號,點選Connect即可,在程式碼需要用到模擬器的屬性。
在hello.py需要寫的邏輯程式碼:
import uiautomator2 as u2 def funpwd(): # 這裡是獲取QQ的密碼,在pwd.txt檔案儲存,下面的檔案路徑也要做對應的修改。 f = open(r"C:UsersAdministratorPycharmProjects estpwd.txt", "r") txt = f.read() f.close() return txt pwd = funpwd() # 這裡要根據具體情況修改IP地址 d = u2.connect('192.168.0.103') d(text="QQ").click() d(text="登 錄").click() d(text=u"QQ號/手機號/郵箱").set_text("1922820882") d(resourceId="com.tencent.mobileqq:id/password").set_text(pwd) d(resourceId="com.tencent.mobileqq:id/login").click() d(text="動態").click() d(text="好友動態").click() d(description=u"說說,").click() d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鮮事…").click() d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鮮事...").set_text("Hello ") d(resourceId="com.tencent.mobileqq:id/ivTitleBtnRightText").click() d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click() d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click()
現在就是直接執行hello.py,再看模擬器就可以有效果。
因為是模擬器的緣故,有些操作會跟真實機器有很大區別,這裡是uiautomator2官方的gihub地址,有很多功能都可以嘗試。https://github.com/openatx/uiautomator2