這兩天早上10點(diǎn)支付寶咻一咻戳到手機(jī)都快破一個(gè)洞了還是毛都沒(méi)有!手還疼得要命矩距,又不甘心錯(cuò)過(guò)一絲絲得到敬業(yè)福的機(jī)會(huì)念赶。作為一個(gè)程序猿础钠,怎么能讓阿里的程序猿耍得團(tuán)團(tuán)轉(zhuǎn)呢,于是有了這篇文章叉谜。
聲明:本文章僅供娛樂(lè)及安卓愛(ài)好者開(kāi)發(fā)學(xué)習(xí)交流之用旗吁,如果使用該文章中的代碼,產(chǎn)生的包括但不局限于手機(jī)發(fā)熱停局,死機(jī)很钓,變磚,電腦罷工董栽,支付寶封號(hào)码倦,查水表等均與本人無(wú)關(guān) :)
prepare
- PC 裝好android sdk,配制好環(huán)境變量
- 準(zhǔn)備一臺(tái)安卓手機(jī)锭碳,連上電腦袁稽,打開(kāi)USB調(diào)試
- 了解monkey測(cè)試的基本知識(shí),不了解的可以看我的這篇monkey test 使用筆記
- 當(dāng)然用其它自動(dòng)化測(cè)試也可以擒抛,反正只需要簡(jiǎn)單的模擬點(diǎn)擊操作
python腳本
-
USB調(diào)試-打開(kāi)指針位置推汽,切到支付寶頁(yè)面,按住咻一咻歧沪,看看手機(jī)狀態(tài)欄上的信息民泵,拿到咻咻咻按鈕的坐標(biāo)
USB調(diào)試-打開(kāi)指針位置
- 編寫(xiě)腳本
新建文本文檔,命名touch.py槽畔,寫(xiě)入下面這幾行代碼
import sys
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi
device = mr.waitForConnection()
if not device:
print >> sys.stderr,"no device"
sys.exit(1)
for i in range(1,1000000):
device.touch(584,1052,md.DOWN_AND_UP)
mr.sleep(0.2)
- for 就是循環(huán)點(diǎn)了后面的數(shù)設(shè)大一點(diǎn)栈妆,因?yàn)槟壳暗那闆r來(lái)看,點(diǎn)個(gè)幾萬(wàn)下估計(jì)不一定有個(gè)毛線
- touch當(dāng)然就是點(diǎn)擊了厢钧,584,1052是剛剛拿到的坐標(biāo)
-
mr.sleep(0.2)
表示一秒5點(diǎn)(等0.2秒鳞尔,當(dāng)然這個(gè)數(shù)字可以設(shè)大點(diǎn))。
let's go 執(zhí)行腳本命令
- 保證手機(jī)以正常連接并被電腦識(shí)別到可以通過(guò)
adb devices
檢查
打開(kāi)支付寶咻一咻頁(yè)面
打開(kāi)cmd然后執(zhí)行
C:\Users\Sam>monkeyrunner d:\monkey\touch.py
配制好SDK環(huán)境變量后早直,monkeyrunner可以在任何目錄下運(yùn)行寥假,但是.py文件必須使用完整路徑-
如果咻到什么東西,如果是沒(méi)什么用的彈窗只要按返回鍵就會(huì)繼續(xù)自動(dòng)咻霞扬,如果需要領(lǐng)取糕韧,則先停止枫振,只要在命令行界面按
ctrl c
,則會(huì)出現(xiàn)停止腳本的提示如下:
如果按終止操作再執(zhí)行可能會(huì)報(bào)錯(cuò)萤彩,不懂為啥粪滤,只需要再終止一次,再執(zhí)行腳本即可雀扶。
有圖有真相
雖然是寫(xiě)好了杖小,但是明天就回家了,電腦也懶得帶回去愚墓,所以其實(shí)也用不上予权,不過(guò)算是復(fù)習(xí)了一下monkey的用法吧,下次有這種坑爹的活動(dòng)再玩咯浪册。不說(shuō)了扫腺,收拾東西去了 - -。