monkeyrunner入門例子(pyt
- 2020 年 1 月 8 日
- 筆記
#!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- #導入python中自帶的time模組和sys模組,腳本中都要用到它們。 import time import sys #MonkeyRunner自帶的三個api from com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage #這個函數時確認年月日時分秒 now=time.strftime("%Y-%m-%d-%H-%M-%S") #指定我們要保存圖片的位置和列印log的位置 path='D:picture' logpath="D:log" #python中獲取當前運行的文件的名字 name=sys.argv[0].split("\") filename=name[len(name)-1] #新建一個log文件 log=open(logpath+filename[0:-3]+"-log"+now+".txt",'w') #連接設備,兩個參數分別是等待的時間(這裡的時間都是秒為單位),設備的序列號。 device=MonkeyRunner.waitForConnection(5,'022AQQ7N39077347') #安裝鎚子便簽apk。參數是apk文件的位置,因為python不支援中文輸入,所以在後面用了.decode('utf-8')這個方法轉碼。 device.installPackage ('D:\1.apk'.decode('utf-8')) #列印出操作資訊到log文件里 log.write("安裝apk……n") #等待2秒 MonkeyRunner.sleep(2) #啟動app,參數里是app的包名/活動名 device.startActivity(component='com.smartisan.notes/.NotesActivity') MonkeyRunner.sleep(2) #列印操作資訊 log.write("啟動app……n") #截圖 result = device.takeSnapshot() #保存截圖 result.writeToFile(path+"主頁面".decode('utf-8')+now+'.png','png') #點擊搜索款的位置坐標。 device.touch(111,155,'DOWN_AND_UP') MonkeyRunner.sleep(2) #輸入smartisan字樣 device.type("smartisan") #截圖 result1=device.takeSnapshot() #保存截圖 result1.writeToFile(path+"搜索框截圖".decode('utf-8')+'.png','png') #移動第一個便簽的位置到最後面去,參數是:一個起始點坐標,一個終點坐標,移動的時間,移動的步驟 device.drag((232,235),(216,472),3,2) MonkeyRunner.sleep(3) #截圖 result2=device.takeSnapshot() #保存截圖 result2.writeToFile(path+"移動便簽".decode('utf-8')+now+".png",'png') #第一個便簽向右滑動 device.drag((109,360),(322,360)) MonkeyRunner.sleep(3) #截圖 result3=device.takeSnapshot() #保存截圖 result3.writeToFile(path+"右移動便簽".decode('utf-8')+now+".png",'png') #點擊最後一個便簽的位置 device.touch(182,583,'DOWN_AND_UP') MonkeyRunner.sleep(5) #點擊發送的位置 device.touch(324,73,'DOWN_AND_UP') MonkeyRunner.sleep(5) #點擊發送至長微博的位置 device.touch(227,789,'DOWN_AND_UP') MonkeyRunner.sleep(5) #點擊生成長微博的位置 device.touch(228,791,'DOWN_AND_UP') MonkeyRunner.sleep(5) #截圖 result4=device.takeSnapshot() #保存圖片 result4.writeToFile(path+"髮長微博截圖".decode("utf-8")+now+'.png','png') #點擊下一步的位置 device.touch(426,81,'DOWN_AND_UP') MonkeyRunner.sleep(3) #截圖 result5=device.takeSnapshot() #保存截圖 result5.writeToFile(path+"輸入微博帳號".decode("utf-8")+now+'.png','png') #點擊輸入微博帳號和密碼的幾個位置,分別輸入帳號和密碼 device.touch(196,311,'DOWN_AND_UP') MonkeyRunner.sleep(3) device.type("[email protected]") MonkeyRunner.sleep(3) device.touch(168,378,'DOWN_AND_UP') MonkeyRunner.sleep(3) device.type("powermo1234") MonkeyRunner.sleep(3) #點擊登錄 device.touch(237,449,'DOWN_AND_UP') MonkeyRunner.sleep(3) #截圖 result6=device.takeSnapshot() #保存截圖 result6.writeToFile(path+"登陸微博".decode("utf-8")+now+'.png','png') #下面就開始對之前的截圖進行對比了 #第一張截圖做對比,去文件中找到我們要對比的圖片 resultTrue=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue.png') log.write("主頁面對比圖片……n") #判斷圖片相識度是否是為90% if(result.sameAs(resultTrue,0.9)): #在命令行列印出資訊 print("主頁面圖片對比成功") #列印資訊到log文件 log.write("主頁面圖片對比成功……n") else: #列印資訊到命令行 print("主頁面圖片對比失敗") log.write("主頁面圖片對比失敗……n") #去文件中找到我們規定的圖片用來對比 result1True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue1.png') #判斷圖片相識度是否是為90% if(result1.sameAs(result1True,0.9)): print("搜索框圖片對比成功") log.write("搜索框圖片對比成功……n") else: print("搜索框圖片對比失敗") log.write("搜索框圖片對比失敗……n") #對移動便簽圖片對比 result2True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue2.png') ##判斷圖片相識度是否是為80% if(result2.sameAs(result2True,0.8)): print("移動便簽對比成功") log.write("移動便簽對比成功……n") else: print("移動便簽圖片對比失敗") log.write("移動便簽對比失敗……n") #對移動便簽圖片進行對比,去文件中找我們規定的圖片 result3True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue3.png') ##判斷圖片相識度是否是為80% if(result3.sameAs(result3True,0.8)): print("右移便簽圖片對比成功") log.write("右移便簽圖片對比成功……n") else: print("右移便簽圖片對比失敗") log.write("右移便簽圖片對比失敗……n") #對長微博圖片對比 result4True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue4.png') if(result4.sameAs(result4True,0.8)): print("髮長微博圖片對比成功") log.write("髮長微博圖片對比成功……n") else: print("髮長微博圖片對比失敗") log.write("髮長微博圖片對比失敗……n") result5True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue5.png') if(result5.sameAs(result5True,0.8)): print("輸入微博帳號圖片對比成功") log.write("輸入微博帳號圖片對比成功……n") else: print("輸入微博帳號圖片對比失敗") log.write("輸入微博帳號圖片對比失敗……n") result6True=MonkeyRunner.loadImageFromFile('D:\picture2\shottrue6.png') if(result6.sameAs(result6True,0.8)): print("登陸微博圖片對比成功") log.write("登陸微博圖片對比成功……n") else: print("登陸微博圖片對比失敗") log.write("登陸微博圖片對比失敗……n")

