可以在Android上使用Espresso测试支持v7 SearchView

cor*_*s09 9 android searchview android-support-library android-espresso

我在Android上对我的应用程序进行了一些检测测试,但是碰壁了.我有一个来自android的v7支持库的SearchView,我想以某种方式测试它.我猜它不能直接点击,因为我用传统的方法尝试过:

onView(withId(R.id.search_view)).perform(click())
Run Code Online (Sandbox Code Playgroud)

有没有办法SearchView用Espresso 进行测试?

R. *_*ski 21

解决方案取决于初始状态.SearchView如果它已折叠,则必须先打开它:

onView(withId(R.id.your_search_menu_id)).perform(click());
Run Code Online (Sandbox Code Playgroud)

然后你可以输入它.

有两种方法:

  1. 通过搜索autocomplete id,这是公开的

    onView(withId(android.support.design.R.id.search_src_text)).perform(typeText("something"));
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过使用这个事实,它是 AutoCompleteTextView

    onView(isAssignableFrom(AutoCompleteTextView.class)).perform(typeText("something"));
    
    Run Code Online (Sandbox Code Playgroud)