【发布时间】:2018-07-16 14:23:22
【问题描述】:
假设有两个活动 A 和 B。A 是登录活动,其中包含用户名、密码字段和登录按钮。一旦输入用户名和密码并单击登录按钮,它就会进行网络调用。
如果我们要在同一活动中测试该视图的视图,它将起作用(如果不是,我们可以使用自定义 IdlingResource 并进行管理)。
我想在登录过程完成后测试 B 活动。但 B 活动也有一些网络调用(同时出现进度条)。所以直接onView() 断言失败了。有没有标准的方法来实现这一目标?可以通过在onView() 断言之前添加Thread.sleep() 语句来实现,我不想这样做。我该如何测试这个场景。
【问题讨论】:
-
您使用哪种技术进行网络调用? Espresso 只能在使用 AsyncTask 类时检测并等待并行执行。
-
我正在使用retrofit。所以我使用IdlingResource 让 Espresso 等到通话完成。它工作正常,没有问题。我想要的是让 Espresso 等待第二个活动的通话完成。
标签: android junit android-testing android-espresso