java - 由于 Android 消息 `Viewing full screen, To exit, swipe down from the top`,Espresso 测试失败

标签 java android kotlin android-espresso android-6.0-marshmallow

我有一个 Espresso 测试,由于出现 Android 弹出消息查看全屏而失败。要退出,请从顶部向下滑动

如果我单击得到它,测试运行正常,但我在构建服务器上运行这些测试,我无法手动单击它。

我运行的模拟器设备 - Nexus 7 API 23。

有没有办法可以禁用此弹出窗口,或者在测试期间单击它,但我不确定它会在什么时候弹出。

请提供有关如何处理此问题的任何想法。

这是 Android 抛出的弹出窗口,它破坏了 espresso 测试

enter image description here

因此我确实收到了一条错误消息,如下

此行错误 -

 onView(withId(R.id.prefuel_total))
                .perform(typeText(value), closeSoftKeyboard());

    androidx.test.espresso.PerformException: Error performing 'single click - At Coordinates: 1067, 321 and precision: 16, 16' on view 'Animations or transitions are enabled on the target device.
For more info check:

with id: com.ix.xx.staging:id/prefuel_total'.
at androidx.test.espresso.PerformException$Builder.build(PerformException.java:82)
at androidx.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:79)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:51)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:173)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:114)
at com.ix.xx.test.AbstractFuelOrderDataTests.enterPreFuelDataInDialog(AbstractFuelOrderDataTests.java:503)
at com.ix.xx.test.FuelOrderDataTests.testAcBatchOnlyProgress(FuelOrderDataTests.java:2782)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
at androidx.test.internal.runner.junit4.statement.RunAfters.evaluate(RunAfters.java:61)
at androidx.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:527)
at org.mockito.internal.junit.VerificationCollectorImpl$1.evaluate(VerificationCollectorImpl.java:36)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at androidx.test.runner.AndroidJUnit4.run(AndroidJUnit4.java:104)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:388)
at com.ix.xx.test.runner.UnlockDeviceAndroidJUnitRunner.onStart(UnlockDeviceAndroidJUnitRunner.java:42)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)
Caused by: androidx.test.espresso.PerformException: Error performing 'Send down motion event' on view 'unknown'.

感谢您的帮助和建议

最佳答案

您可以使用以下命令禁用这些弹出窗口:

 adb shell settings put secure immersive_mode_confirmations confirmed

关于java - 由于 Android 消息 `Viewing full screen, To exit, swipe down from the top`,Espresso 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62471349/

相关文章:

java - agora.io 错误访问拒绝找到属性 net.dns2

java - 通过查看 RecyclerView 的值来查找 RecyclerView 行位置

syntax - Kotlin 二级构造函数

java - 交叉比较 ArrayList 元素并删除重复项

java - 当 Scanner 是静态类变量时,Eclipse 没有显示资源泄漏 - 为什么?

java - Dropwizard 将答案序列化为 json 时出现异常

java - 更新到最新版本 4.3.7 后找不到 ID 为 'com.google.gms.google-services' 的插件

java - 比较 WSDL 中 xsd 中的属性值

java - Android 乐谱渲染的可能性

android - Apache Cordova : Failed to load resource: the server responded with a status of 404 (Not Found)