gpt4 book ai didi

android - 如何从 Play 商店返回应用

转载 作者:行者123 更新时间:2023-11-30 00:15:58 26 4
gpt4 key购买 nike

我正在测试应用程序中的交互,用户可以向上滑动以转到 Google Play 商店。但是当发生这种情况时,Espresso 无法执行测试流程的其余部分,原因是 RuntimeException:无法在主线程上找到 RESUMED Activity 。

在 UI 上有左箭头 (<--),因此用户可以点击它返回到上一个应用程序。我如何告诉 Espresso 做类似的事情?还是强制被测应用再次回到前台?

下面是RuntimeException,供引用:

java.lang.RuntimeException: Could not find RESUMED activity on main thread
at com.snapchat.android.crema.Screenshotter.screenshotCurrentActivity(Screenshotter.java:49)
at com.snapchat.android.crema.Screenshotter$1.run(Screenshotter.java:33)
at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:2092)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

INSTRUMENTATION_RESULT: shortMsg=Process crashed.
INSTRUMENTATION_CODE: 0

最佳答案

Espresso 不能用于跨应用测试。 Espresso 与您的申请流程相关联。

但是有一些方法可以测试这种交互:

  1. 使用 Espresso-Intents 捕捉去 Play 商店的 Intent 并返回 stub 响应。这样,您的测试将被固定下来并且永远不会离开您的应用程序。这是一种推荐的做法,因为它会单独测试此场景,而不会与您无法控制的外部依赖项进行交互。

  2. 使用可以在应用程序上下文之外运行的 UiAutomator,然后单击那里的内容。如果您对端到端测试感兴趣,可能会有用,但代价是更脆弱。您可以在这个问题中找到示例用法:How to regain Access on a Activity after sending it to background

关于android - 如何从 Play 商店返回应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com