uiautomator runtest命令行向jar文件傳參

命令行如下:

adb shell uiautomator runtest  Test.jar -e runtype repeat -c com.yuchaolee.lau.MyTest.MTest

裏面有個參數e,後跟的runtype和repeat分別是值的key和value。

代碼段:

?
1
2
3
4
5
publicvoid testLau() throwsException { 
        Bundle bundle = getParams();
        String runType = bundle.getString("runtype");
        System.out.println(runType);
}




  • 支持三個子命令:rutest/dump/events
  • runtest命令-c指定要測試的class文件,用逗號分開,沒有指定的話默認執行測試腳本jar包的所有測試類.注意用戶可以以格式$class/$method來指定只是測試該class的某一個指定的方法
  • runtest命令-e參數可以指定是否開啓debug模式
  • runtest命令-e參數可以指定test runner,不指定就使用系統默認。我自己從來沒有指定過
  • runtest命令-e參數還可以通過鍵值對來指定傳遞給測試類的參數

同時我們這裏會涉及到幾個重要的類,我們這裏先列出來給大家有一個初步的印象:

Class

Package

Description

Launcher

com.android.commands.uiautomator

uiautomator命令的入口方法main所在的類

RunTestCommand

com.android.commands

代表了命令行中‘uiautomator runtest'這個子命令

EventsCommand

com.android.commands

代表了命令行中‘uiautomator events’這個子命令

DumpCommand

com.android.commands

代表了命令行中‘uiautomator dump’這個子命令

UIAutomatorTestRunner

com.android.uiautomator.testrunner

默認的TestRunner,用來知道測試用例如何執行

TestCaseCollector

com.android.uiautomator.testrunner

用來從命令行和我們的測試腳本.class文件收集每個測試方法然後建立對應的junit.framework.TestCase測試用例的一個類,它維護着一個List<TestCase> mTestCases列表來存儲所有測試方法(用例)

UiAutomationShellWrapper

com.android.uiautomator.core

一個UiAutomationwrapper類,簡單的做了封裝,其中提供了一個setRunAsMonkey的方法來通過ActivityManagerNativeProxy來設置系統的運行模式

UiAutomatorBridge

com.android.uiautomator.core

相當於UiAutomation的代理,基本上所有和UiAutomation打交道的方法都是通過它來分發的

ShellUiAutomatorBridge

com.android.uiautomator.core

UiAutomatorBridge的子類,額外增加了幾個不需要用到UiAutomation的方法,getRotation



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章