如何在执行检测测试期间关闭任何系统对话框

时间:2017-11-29 14:41:54

标签: android testing ui-testing uiautomator android-espresso

我有一个大约20个Android设备的农场来运行检测UI测试。我用浓咖啡。有时会出现不同的系统对话框,导致测试失败。 例如。 USSD结果对话框,丢失互联网连接对话框,更新操作系统请求对话框等

有没有办法捕获任何对话框并关闭它? 这个意图没有帮助。

Intent.ACTION_CLOSE_SYSTEM_DIALOGS

2 个答案:

答案 0 :(得分:1)

点击后退按钮事件

很简单

<强> onView(isRoot())执行(ViewActions.pressBack());

将此添加到您的gradle:

androidTestCompile&#39; com.android.support.test.uiautomator:uiautomator-v18:2.1.2&#39;

然后在你的测试中这样做:

UiDevice mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressBack();

如果您对Espresso UI测试更感兴趣,可以在GitHub上查看Express Express演示项目:https://github.com/ranaNarin/Espresso-Android
在此演示项目中,在所有场景中实施espresso: - EditText,按钮,选项菜单点击,导航抽屉打开和关闭,单击回收器视图项,打开相机并使用Espresso UI测试单击图像

答案 1 :(得分:0)

我一直在研究这个问题。弹出窗口有一个id,可以使用测试框架解除。到目前为止,我已经找到了如何使用appium进行操作,还有另外一个GitHub使用仪器,但我还没有实现它。

https://github.com/jamesknowsbest/aws-device-farm-sample-app-for-android