您的位置:首页 > 其它

Espresso 自动化测试(三)-获取文本内容

2016-02-03 09:04 288 查看
前面我们已经简单的介绍了Espresso的环境搭建 Espresso 自动化测试(一) 以及有关Espresso的组件构成。下来我们来看看Espresso的一些API,这里有一张图片包含了我们前面说的到 Matchers,ViewActions 和 ViewAssertions 。

用法

简单的用法我们就不在这里说明了,我们今天来讲下如何获取到一个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来说确实是麻烦了一点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: