Monkeyrunner的使用--實例練習

首次接觸monkeyrunner,作了一個小練習,記錄下來爲了方便本身之後的複習,有須要的朋友也能夠參考一下。文章中有些地方可能理解的不對,請諒解。html

實例練習題:android

1、使用monkeyrunner完成以下操做:app

1.安裝worktile App工具

2.啓動worktile並截屏佈局

3.在啓動頁進行5個動畫頁的滑動切換,每次都須要截屏動畫

4.點擊登陸按鈕,進入登陸頁面網站

5.卸載worktileui

 

前提準備:spa

1.Android模擬器設計

2.Android SDK已經在環境變量中配置好

3.從應用寶(專門下載apk的網站)下載worktile

========================正式開始============================

1.啓動android模擬器,必定要先啓動模擬器,才能進行下面的操做

 

2.先確認adb的端口號是否被其餘程序的進程佔用

--------adb是什麼?adbandroid sdk中的一個工具,該工具能夠直接操做管理andriod模擬器或真實的android設備                        

 1) 運行cmd,輸入命令adb devices

 2) 若是顯示adb server is out of date.killing,表示adb端口已經被其餘程序的進程佔領了,此時輸入 adb nodaemon server ,查看adb端口號,通常狀況下爲5037

     再輸入netstat -ano|findstr 「5037」,能夠看到佔據端口號5037的進程,注意本地佔據端口的pid,在任務管理器中kill

具體操做連接地址:http://jingyan.baidu.com/article/d621e8da0dee022865913fce.html

 3) 若是顯示以下圖,則正確

 

 

4)我是一直沒有顯示鏈接的設備,即192.168.56.101:5555   device 這行,最後關機重啓,萬能法寶

 

3.兩種方式建立Python代碼

 1)在sdk tools中自帶monkeyrunner.bat 點擊運行,就能夠輸入一行一行的代碼

 2)將代碼寫在記事本中,文件擴展名改成.py,就變成.py文件啦

而後運行cmd,輸入monkeyrunner  後面把文件直接拖入進來,以下圖

 

4.具體代碼

//導入一些須要的包

from com.android.monkeyrunner import MonkeyRunner

from com.android.monkeyrunner import MonkeyDevice 

from com.android.monkeyrunner.easy import EasyMonkeyDevice

from com.android.monkeyrunner.easy import By

//鏈接模擬器,若是一直鏈接沒反應,多是端口被佔領,返回第二步確認

device=MonkeyRunner.waitForConnection() 

 

//安裝以前下載worktile,括號裏是apk的地址

device.installPackage('F:/com.worktile_Worktile3.4.3_17.apk')

 

//啓動worktile app,括號裏是  app包名/activity,得到方式見下面圖1

device.startActivity("com.worktile/com.worktile.ui.external.WelcomeActivity")

 

MonkeyRunner.sleep(1)

 

//第一個起始頁截圖

startPic=device.takeSnapshot()

//寫入 存爲圖片地址

startPic.writeToFile('F:/startPic.jpg','jpg')

 

//滾動頁第一張截圖

pic1=device.takeSnapshot()

pic1.writeToFile('F:/pic1.jpg','jpg')

 

//滾動頁第二張截圖

pic2=device.takeSnapshot()

pic2.writeToFile('F:/pic2.jpg','jpg')

 

//滾動頁第三張截圖

pic3=device.takeSnapshot()

pic3.writeToFile('F:/pic3.jpg','jpg')

 

//滾動頁第四張截圖

pic4=device.takeSnapshot()

pic4.writeToFile('F:/pic4.jpg','jpg')

 

//滾動頁第五張截圖

pic5=device.takeSnapshot()

pic5.writeToFile('F:/pic5.jpg','jpg')

 

 

 

/*

*點擊登陸按鈕,跳至登陸頁面

如何得到登陸按鈕的id

*----雙擊android sdk tools裏的hierarchyviewer.bat(hierarchy viewer 能夠看到頁面佈局,

*   得到控件屬性,更好的檢視和設計用戶界面),如圖1,加粗部分表示當前頁,雙擊加

*   粗部分,如圖2,具體操做可百度

*/

 

 

                             圖1

 

 

 

                            圖2

 

easy_device=EasyMonkeyDevice(device)

 

//得到登陸按鈕的id,按下去

easy_device.touch(By.id('id/btn_login'),MonkeyDevice.DOWN_AND_UP)

MonkeyRunner.sleep(5)

 

//卸載app,括號裏是app的包名,注意app的包名不是apk的名字哦

device.removePackage('com.worktile')

 

 

====================結束====================================

相關文章
相關標籤/搜索