1
    public void testAppByName(String appName) throws UiObjectNotFoundException {
        screenUnlocker();
        // String appName = "Clock";
        UiObject allAppsButton = new UiObject(
                new UiSelector().description("Apps"));
        allAppsButton.clickAndWaitForNewWindow();

        UiObject appsTab = new UiObject(new UiSelector().text("Apps"));
        appsTab.click();

        UiScrollable appViews = new UiScrollable(
                new UiSelector().scrollable(true));

        UiObject appLaunch = appViews.getChildByText(new UiSelector()
                .className(android.widget.TextView.class.getName()), appName);
        appLaunch.clickAndWaitForNewWindow();
    }

uiautomator runtest コマンドを使用してメソッドに値を提供する方法 以下のコマンドを実行しようとしました adb shell uiautomator >runtest LaunchAppByName.jar -c >com.motorola.launchappbyname.LaunchAppByName#testAppByName -e String Clock エラーが発生しています it.framework.AssertionFailedError : メソッド "testAppByName" が見つかりません

4

3 に答える 3

6

パラメータをテスト ケースに渡すために、uiautomator は次のように言います。

-e <NAME> <VALUE>: other name-value pairs to be passed to test classes.
    May be repeated.

たとえば、次のようなことができます。

adb shell uiautomator runtest UiTest.jar -c package.name.ClassName -e stringKey stringValue

使用できるコードで

String stringValue = getParams().getString("stringKey");

これまでに書いたgetString('key')ものを stringValue として返します

于 2014-03-11T15:14:03.880 に答える
1

adb コマンドから提供されるエクストラを使用するには、関数を次のように変更します。

public void testAppByName() {
  getParams().getString("appName");
}
于 2014-02-28T07:08:56.747 に答える
0

In order to pass multiple parameters, you may use

adb shell uiautomator runtest UiTest.jar -c package.name.ClassName -e stringKey1 stringValue -e stringKey2 stringValue -e stringKey3 stringValue
于 2014-08-12T18:53:17.060 に答える