Espresso 自动化测试(三)-获取文本内容
前面我们已经简单的介绍了Espresso的环境搭建Espresso 自动化测试(一)以及有关Espresso的组件构成。下来我们来看看Espresso的一些API
用法
简单的用法我们就不在这里说明了,我们今天来讲下如何获取到一个textView中的内容,其实从刚才的内容的API中实际上没有相应的方法,很明显我们还是需要依赖Android 原生的getText方法。那如何才能够得到TextView的对象,从而获取到文本内容来,其实我们从第一章就应该知道。
ViewActions 代表的就是做某些事。
所以我们就从这个入手,我们重写来ViewAction方法,看看下面的代码吧
public String getText(final Matcher<View> matcher) {
final String[] text = {null};
onView(matcher).perform(new ViewAction() {
//识别所操作的对象类型
@Override
public Matcher<View> getConstraints() {
return isAssignableFrom(TextView.class);
}
//视图操作的一个描述
@Override
public String getDescription() {
return "getting text from a TextView";
}
//实际的一个操作,在之类我们就可以获取到操作的对象了。
@Override
public void perform(UiController uiController, View view) {
TextView textView = (TextView)view;
text[0] = textView.getText().toString();
}
});
return text[0];
}
再来就是我们的测试代码了
//获取文本的内容输入到文本输入框中
String tv = getText(withId(R.id.textToBeChanged));
onView(withId(R.id.editTextUserInput)).perform(typeText(tv));
以上的demo使用的均为android-testing的测试代码。
结束
以上就是获取一个Textview文本的方法了,相比以前的UIAutomator来说确实是麻烦了一点。