我正在使用Espresso框架为Android App编写测试。到目前为止,这似乎工作正常。问题是我有时不得不更改活动。
在这种特定情况下,单击按钮会打开Google 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