Espresso 是 Google 官方提供的一个易于测试 Android UI 的开源框架 。
新建AS项目时,会自动添加依赖:
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
Espresso 由以下三个基础部分组成:
- ViewMatchers 在当前View层级去匹配指定的View
- ViewActions 执行Views的某些行为
- ViewAssertions 检查Views的某些状态
例:
onView(withId(R.id.my_view)) // withId(R.id.my_view) is a ViewMatcher
.perform(click()) // click() is a ViewAction
.check(matches(isDisplayed())); // matches(isDisplayed()) is a ViewAssertion
常用方法:
获得View
//根据id匹配
onView(withId(R.id.my_view))
//根据文本匹配
onView(withText("Hello World!"))
执行View行为
//点击
onView(...).perform(click());
//输入文本
onView(...).perform(typeText("Hello World"), closeSoftKeyboard());
//滑动(使屏幕外的view显示) 点击
onView(...).perform(scrollTo(), cli