我自己試驗了下和官方的API編寫不太一樣,老別扭了,建議還是用Python寫吧
昨天在網上查了一下一天,都是轉來貼別人的,真正敲的很少,我真不知道轉的大俠你們自己敲了么?
先截一段不負責任的blog圖,為什么你們的測試腳本都是一樣,真心尷尬。
如下圖:
---------------------------------------------------------------------------------------------------------------分割線------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------分割線----------------------------------------------------------------------------------------------------------------
測試腳本沒問題。
好了,開始我的做法。
前提條件:
1、我自己將monkeyrunner源碼,直接導出jar,然后引入就能編腳本了
2、難點:
導出jar包,需要把monkeyrunner源碼引用的第三方jar包,也要帶上,否則你打出來的monkeyrunner.jar是不能用的。
用eclipse的fatjar導出的jar,怎么導出參考百度
3、我寫的一個簡單的計算器Java版本的case
腳本如下:
TestCalculator.java
package com.monkeyrunner.www; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import com.android.monkeyrunner.adb.AdbBackend; import com.android.monkeyrunner.core.IMonkeyDevice; import com.android.monkeyrunner.core.TouchPressType; public class TestCalculator { private static IMonkeyDevice device; private static AdbBackend adb; public static void main(String[] args) throws Exception { // TODO Auto-generated method stub if (adb == null) { adb = new AdbBackend(); // 參數分別為自己定義的等待連接時間和設備id device = adb.waitForConnection(3000, "192.168.56.101:5555"); } // 添加啟動權限 String action = "android.intent.action.MAIN"; Collection<String> categories = new ArrayList<String>(); categories.add("android.intent.category.LAUNCHER"); // 啟動要測試的主界面,主要是配置自己的包和啟動類 device.startActivity(null, action, null, null, categories, new HashMap<String, Object>(), "com.android.calculator2/com.android.calculator2.Calculator", 0); // 點擊某一個坐標 device.type("1+1"); Thread.sleep(3000); device.touch(550, 900, TouchPressType.DOWN_AND_UP); } }
運行結果:1+1=2
總結:
和官方的api不太一樣,用Java寫的話,感覺對不上,好別扭,用Python寫還是蠻適合的,只是我Python不熟,我習慣Java,有興趣的同學,請參照demo,自行嘗試。
引用我生成的monkeyrunner.jar,寫腳本編譯就不會報錯了。
monkeyrunner.jar包下載地址:鏈接: http://pan.baidu.com/s/1kV3B0xD 密碼: pefx