【问题标题】:Android Espresso - Testing on different ActivitiesAndroid Espresso - 测试不同的活动
【发布时间】:2016-11-22 14:38:30
【问题描述】:

我正在使用 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 中进行任何交互,在调试器中找不到任何视图元素。

【问题讨论】:

    标签: android integration-testing android-espresso gmsplacepicker


    【解决方案1】:

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

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

    所以叫

    onActivityResult(PLACE_PICKER_REQUEST, RESULT_OK, intent)
    

    而不是

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多