如何从游戏商店回到应用程序

时间:2017-11-14 00:46:48

标签: android android-espresso

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

在用户界面上有左箭头(< - ),因此用户可以点按它以返回上一个应用。我如何告诉Espresso做类似的事情?或者强制正在测试的应用程序再次出现在前台?

以下是RuntimeException以供参考:

template<class Fn, class R, class... Args>
R test(Args&&... args) {
  return Fn{}(std::forward<Args>(args)...);
}

int foo( int a, int b ) { return a+b; }

int r = test< constant_t<TYPEDARG(foo)>, int, int, int >( 3, 4 );

1 个答案:

答案 0 :(得分:1)

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

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

  1. 抓住意图以Espresso-Intents进入游戏商店并返回存根响应。这样,您的测试将被封装,永远不会离开您的应用程序。这是一种推荐的方法,因为它可以独立地测试这个场景,而不会与您无法控制的外部依赖项交互。

  2. 使用可以在您的应用程序上下文之外执行的UiAutomator并单击其中的内容。如果您对端到端测试感兴趣,可能会有用,但需要更加脆弱的权衡。您可以在此问题中找到示例用法:How to regain Access on a Activity after sending it to background

相关问题