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

前面我们已经简单的介绍了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来说确实是麻烦了一点。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值