要使用该工具,需要满足如下条件:
安装 Android Studio
打开 Android SDK Manager (Tools Menu | Android),确保安装了 Android testing support library Repository under Extras.
测试目录 The application under test is located in src/main/javaTests are in src/androidTest/java
在 Android Studio 中,选择文件./build.gradle
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
// Set this dependency to build and run UI Automator tests
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
}
import android.support.test.uiautomator.UiAutomatorTestCase;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;
public class CalculatorTest 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/digit_7"));
seven.click();
UiObject plus = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/op_add"));
plus.click();
UiObject one = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/digit_1"));
one.click();
UiObject result = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/eq"));
result.click();
getUiDevice().pressBack();
}
}
点击执行,这个应用将会在设备上或者模拟器上自动执行,可以在 Run 窗口下显示测试的结果。
UiObject resultTextView = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/formula"));
String resultText = resultTextView.getText();
assertEquals("测试7+1=?的计算结果", “8", resultText);
当测试的结果出错,能够看到错误日志
测试结果正确,可以在手机上自动执行测试结果。
在验证处添加断点调试
在开始编写测试案例代码之前,需要熟悉待测应用的 UI 元素。可以通过 uiautomatorviewer 工具来获取应用的界面截图并分析。uiautomatorviewer 工具提供了一个便利的方式来查看 UI 布局结构,并且可以查看各个控件的相关属性。利用这些信息可以用来创建 UI 测试代码。
分析待测应用 UI 界面的步骤如下: