java調用monkeyrunner(親測絕對可行)


我自己試驗了下和官方的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM