使用 monkeyrunner 自動登入微信
monkeyrunner 是sdk 自帶的一款命令解析器,屬於高階測試,接下來我給大家介紹一下如何使用monkeyrunner 自動登入微信,首先呢我們先給環境配置好。
2.配置Python 下載py 3.7 版本,連結:https://pan.baidu.com/s/1HegmP_bN7slzHMXvy_xV_g 提取碼:wzxx
3.配置sdk 開發環境 ,連結:https://pan.baidu.com/s/1TQo3mYFiR2XL4x8aSqmnwg ,注意要配置環境變數 ,我配置的變數名為ANDROID_HOME 變數值為 D:\sdk\adt\sdk\tools;D:\sdk\adt\sdk\platform-tools 提取碼:yv3g 我的是免安裝的sdk (sdt),版本是4.4.2的 對此我也是一知半解哈,
4.接下來需要驗證環境配置有沒有成功,開啟dos終端,輸入java -version , 檢視java配置版本 ,也可以寫一個java程式碼進行編譯哦 建立一個java檔案,先進行javac 編譯成 class 檔案 ,java 執行 java檔案,
5.接下來給大傢伙分享一個好東西,常用的包名,類名.連結:https://pan.baidu.com/s/1qqrrgzD5BJW7REO4pEWSrQ 提取碼:rsw8
6.啟動夜神模擬器,執行命令:adb connect 127.0.0.1:62001即可)。或者用夜神自帶的non_adb.exe,進入到夜神安裝目錄下的bin目錄中,執行命令:adb connect 127.0.0.1:62001。如果 夜神的adb 與sdk 的adb 版本不一致 建議 給夜神adb替換成 sdk 的adb
最後cmd視窗中,輸入命令:adb devices,檢視夜神模擬器已經連線上。
7.配置完成後 再dos命令終端 輸入 monkeyrunner D:/pywork/weix.py,
#!/usr/bin/python # -*- coding: UTF-8 -*- from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage from com.android.monkeyrunner.easy import EasyMonkeyDevice from com.android.monkeyrunner.easy import By import random import string device=MonkeyRunner.waitForConnection(3,"127.0.0.1:62025") componentName="com.tencent.mm/com.tencent.mm.ui.LauncherUI" device.startActivity(component=componentName) print(device,type(device)) #loging weixing def randompath(path,format): return path+'/'+random.choice(string.ascii_lowercase)+"."+format def loging(): MonkeyRunner.sleep(3) device.touch(200,280,"DOWN_AND_UP") MonkeyRunner.sleep(4) device.type('nolong') MonkeyRunner.sleep(4) device.touch(400,400,"DOWN_AND_UP") #MonkeyRunner.alert('success','tishi','OK') #photograph result = device.takeSnapshot() filename=randompath('D:/pywork','jpg') result.writeToFile(filename,'jpg') MonkeyRunner.sleep(8) def friendscircle(): #x363-387 y 778-795 #for i in range() #find x359-391,y 750-778 device.touch(380,755,"DOWN_AND_UP") MonkeyRunner.sleep(1) #friendscircle x64-544,y 106-128 device.touch(400,100,"DOWN_AND_UP") MonkeyRunner.sleep(6) def sendinfo(): #head portrait x 169-584 y 468-524 device.touch(400,500,"DOWN_AND_UP") if __name__=="__main__": loging() friendscircle() sendinfo()
執行到device.type() 的時候 輸入中文會報錯,這個問題我暫時未解決 ,就在檔案開頭加入 # -*- coding: UTF-8 -*- 轉義
給檔案中所有中文字元給刪除,