Android UIAutomator2 是一个用于 Android 应用程序用户界面测试的自动化框架。以下是如何使用 UIAutomator2 进行自动化测试的基本步骤:
- 设置开发环境:
- 安装 Java Development Kit (JDK)。
- 安装 Android Studio。
- 在 Android Studio 中启用 “USB Debugging”。
- 安装 Android SDK Platform-Tools,其中包含
adb
和uiautomator2
的可执行文件。
- 创建测试项目:
- 打开 Android Studio 并创建一个新的 Android 项目。
- 确保在项目的
build.gradle
文件中添加了 UIAutomator2 的依赖项。
- 编写测试代码:
- 在项目中创建一个新的 Java 或 Kotlin 类,该类将扩展
androidx.test.ext.junit.runners.AndroidJUnit4
。 - 使用
@RunWith
注解指定运行器。 - 使用
@Test
注解标记测试方法。 - 在测试方法中,使用
UiDevice
对象来与应用程序的用户界面进行交互。
示例代码(Java):
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.rule.ActivityTestRule; import org.junit.Rule; import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class ExampleInstrumentedTest { @Rule public ActivityTestRuleactivityRule = new ActivityTestRule<>(MainActivity.class); @Test public void useAppContext() { // Context of the app under test. Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); assertEquals("com.example.yourapp", appContext.getPackageName()); } }
- 运行测试:
- 在 Android Studio 中,右键点击测试类或方法,然后选择 “Run ‘ExampleInstrumentedTest’” 或 “Run ‘ExampleInstrumentedTest.method()’” 来执行测试。
- 您也可以使用命令行工具
adb
来运行测试。首先,找到设备的端口号,然后运行以下命令:
adb -s emulator-5554 shell uiautomator runtest InstrumentationTestRunner /path/to/your/test/apk
- 查看测试结果:
- 测试完成后,您将在 Android Studio 的 “Run” 窗口中看到测试结果。
- 如果测试失败,您将看到失败的详细信息和堆栈跟踪,帮助您定位问题。
- 生成测试报告:
- 您可以使用 Android Studio 的内置功能或第三方工具(如 Gradle 插件)来生成测试报告。
通过以上步骤,您可以使用 UIAutomator2 进行基本的自动化测试。对于更复杂的测试场景,您可能需要使用更高级的功能,如 UI Automator 的视图查找器、手势模拟、属性检查等。