2

我正在使用 Espresso 框架为我的 Android 应用程序编写测试。到目前为止,这似乎工作正常。问题是我有时必须更改活动。

在这种特定情况下,单击按钮会打开 Google PlacePicker 以选择特定位置。但在显示此活动的同时,Espresso 正在等待下一步。因此,它不会在此 Activity 中进行交互,而是在我手动关闭 Place Picker (或达到超时)之前停止。

所以它看起来像这样:

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

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

4

1 回答 1

1

Espresso 仅适用于一项活动。它旨在测试活动。

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

所以打电话

onActivityResult(PLACE_PICKER_REQUEST, RESULT_OK, intent)

代替

onView(withId(R.id.origin)).perform(click()); // opens PlacePicker    
于 2016-11-28T14:26:59.417 回答