我正在使用Espresso框架为Android App编写测试。到目前为止,这似乎工作正常。问题是我有时不得不更改活动。

在这种特定情况下,单击按钮会打开Goog​​le PlacePicker以选择特定位置。但是与此同时,显示了该活动,Espresso正在等待下一步。因此,在我手动关闭“位置选择器”(或达到超时)之前,它一直处于停滞状态,而不是在此活动中进行交互。

所以看起来像这样:

onView(withId(R.id.origin)).perform(click()); // opens PlacePicker
onView(...)  // is only executed the moment I manually close the PlacePicker


因此,是否可以告诉Espresso活动已更改以便选择地点并返回我的活动?我无法在PlacePicker中进行任何交互,无法从调试器中找到任何view元素。

最佳答案

浓缩咖啡只能进行一项活动。它旨在测试活动。

您可以通过使用一些虚假(手动创建)的Intent手动调用onActivityResult来模拟PlacePicker调用。

所以打电话

onActivityResult(PLACE_PICKER_REQUEST, RESULT_OK, intent)


代替

onView(withId(R.id.origin)).perform(click()); // opens PlacePicker

10-06 03:28