首页 > 代码库 > uiautomator

uiautomator

我使用的环境要求:

1、Android Studio 2.0

2、SDK Manager需要安装Android Support Repository,没有安装的需要自己去下,如图:

技术分享【步骤1】新建一个Android工程

技术分享不需要创建Activity

技术分享【步骤2】配置gradle(app)

技术分享内容如下:

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:23.3.0‘
    //引入uiautomator
    androidTestCompile ‘com.android.support.test.uiautomator:uiautomator-v18:2.1.0‘
}

修改gradle之后,需要同步一下,才能把uiautomator包导入,如图

技术分享【步骤3】创建TestCase

在src/androidTest/java目录下创建测试类

技术分享类名可以随便取,写上你的用例,可以参照下面的例子:

package com.cxq.uiautomatordemo;

import android.support.test.uiautomator.UiAutomatorTestCase;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;

/**
 * Created by CrystalChen on 2016/4/21.
 */
public class UiTest extends UiAutomatorTestCase {
    public void testDemo() throws UiObjectNotFoundException {
        getUiDevice().pressHome();
        UiObject Calculator = new UiObject(new UiSelector().description("计算器"));

        Calculator.clickAndWaitForNewWindow();
        UiObject seven = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/digit7"));
        seven.click();
        UiObject plus = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/plus"));
        plus.click();
        UiObject one = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/digit1"));
        one.click();
        UiObject result = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/equal"));
        result.click();
        getUiDevice().pressBack();
    }
}

【步骤4】运行,右键你的测试类,Run

如果按照上面的那个用例写,机子会打开计算器,自动输入7+1=

例子中的控件id会有变动,需要自行修改。

【补充】如果后期还需要运行测试用例,可以通过如下的adb命令调用

adb shell am instrument -w -r -e debug false -e class com.cxq.uiautomatordemo.UiTest com.cxq.uiautomatordemo.test/android.test.InstrumentationTestRunner

uiautomator