- Espresso 测试框架教程
- Espresso 测试 - 主页
- 简介
- 设置说明
- 在 Android Studio 中运行测试
- JUnit 概述
- 架构
- 视图匹配器
- 自定义视图匹配器
- 视图断言
- 视图操作
- 测试 AdapterView
- 测试 WebView
- 测试异步操作
- 测试意图
- 测试多个应用程序的 UI
- 测试记录器
- 测试 UI 性能
- 测试无障碍
- Espresso 测试资源
- Espresso 测试 - 快速指南
- Espresso 测试 - 有用资源
- Espresso 测试 - 讨论
多个应用程序的 UI
Android 支持涉及多个应用程序的用户界面测试。假设我们的应用程序有一个选项,可从我们的应用程序移动到消息应用程序以发送消息,然后返回到我们的应用程序。在这种情况下,UI 自动化测试框架可帮助我们测试应用程序。UI 自动化可以被认为是 espresso 测试框架的绝佳伴侣。在选择UI 自动化之前,我们可以在 espresso 测试框架中利用intending()选项。
设置说明
Android 将 UI 自动化作为单独的插件提供。它需要在app/build.gradle中配置,如下所示:
dependencies { ... androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' }
编写测试用例的工作流程
让我们了解如何编写基于UI 自动化的测试用例:
通过调用getInstance()方法并传递Instrumentation对象来获取UiDevice对象。
myDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); myDevice.pressHome();
使用findObject()方法获取UiObject对象。在使用此方法之前,我们可以打开uiautomatorviewer应用程序来检查目标应用程序 UI 组件,因为了解目标应用程序使我们能够编写更好的测试用例。
UiObject button = myDevice.findObject(new UiSelector() .text("Run") .className("android.widget.Button"));
通过调用UiObject的方法模拟用户交互。例如,setText()编辑文本字段,click()激活按钮的点击事件。
if(button.exists() && button.isEnabled()) { button.click(); }
最后,我们检查 UI 是否反映了预期状态。
广告