我的应用程序具有用户需要接受一些条款的功能,因此在点击按钮以开始接受该项目时,会在Google文档中打开一个pdf文件,以显示用户条款,然后他们必须在其中点击任意设备的后退按钮或在Google文档上。在Espresso中,我试图建立一个遵循此路径的测试,但是Espresso会锁定,即使我已插入pressBack命令也不会离开google文档。
我是否可以简单地恢复活动?用户在文档上按回后,他们必须在我的应用上点击“我接受”。
我考虑过使用存根意图,但不确定如何将其存根,因为这只是为了使应用程序在按下按钮时直接进入条款
答案 0 :(得分:0)
如果Google文档是WebView,则必须使用Espresso Web与DOM进行交互。
onWebView(withId(R.id.google_doc_web_view))
.withElement(findElement(Locator.ID, "back_button"))
.perform(webClick())
尽管如果此代码段无法退出Google文档,我会感到惊讶:
public static void pressBack() {
onView(isRoot()).perform(ViewActions.pressBack());
}
AndroidX测试框架中还提供UIAutomator
UiDevice mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
mDevice.pressBack();