Android Espresso浅谈
简介
Espresso 也是一款自动化测试的框架,和UiAutomator类似。
基本上使用流程和UiAutomator类似。
步骤:
- 查找元素:找到UI上测试的元素位置,比如找到一个按钮
- 执行操作:给某个元素执行一个动作,比如触发按钮的点击事件
- 检查结果:判断做出的动作是否符合期望,比如按钮点击后,是否符合我的期望
准备
集成Espresso,首先需要保证App项目已经依赖了Gradle Testing。然后在gradle中添加如下依赖即可。
dependencies {
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
}
创建Test Case
创建一个Espresso测试用例可以按照如下步骤。
* 找到你想测试的Activity,然后使用onView
或者onData
来查找UI元素
* 模拟用户用户点击,可以调用 ViewInteraction.perform()
orDataInteraction.perform()
,为了顺序的给同一个组件执行一些列的动作,可以使用链式的调用方式调用,中间使用逗号分隔,相当于传入一个动作数组。
下面是官方网站给出的一个例子,
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
使用ActivityTestRule创建Espresso
接下来的步骤是,使用ActivityTestRule来创建Espresso测试用例,下面是代码示例。@RunWith(AndroidJUnit4.class)
设置测试代码怎么运行,@Rule
来标注一个测试的Rule。
package com.example.android.testing.espresso.BasicSample;