📅  最后修改于: 2020-12-06 09:40:10             🧑  作者: Mango
Android支持涉及多个应用程序的用户界面测试。让我们考虑我们的应用程序可以选择从我们的应用程序转移到消息传递应用程序以发送消息,然后返回到我们的应用程序。在这种情况下, UI自动化程序测试框架可帮助我们测试应用程序。 UI自动器可以被视为espresso测试框架的良好伴侣。在选择UI automator之前,我们可以利用espresso测试框架中的打算()选项。
Android提供了UI自动化器作为单独的插件。需要按以下指定在app / build.gradle中进行配置,
dependencies {
...
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}
让我们了解如何编写基于UI Automator的测试用例,
通过调用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()可触发按钮的click事件。
if(button.exists() && button.isEnabled()) {
button.click();
}
最后,我们检查用户界面是否反映了预期状态。