首页 > android UI单元测试-Espresso的相关学习资料?

android UI单元测试-Espresso的相关学习资料?

题主现在能完成基本的相对复杂的espresso单元测试了,包括寻找各种复杂嵌套List的item,view的各种perform等,但是再深入一点的东西在网上完全找不到相关资料。gitHub上面google的官方espresso demo也看完了,也全部是一些简单的例子,根本不可能覆盖整个项目的测试。
题主这里想咨询各位,有没有完整深入讲解espresso的资料或者书籍。例如:如何验证数据(经过计算的数字)的正确性,而不是简单地对比字符串。又或者espresso根本就是只注重UI?验证数据正确性用espresso不适合?希望对espresso有一定研究的各位高手解答。


既然没人回答我就只能自己来回答一下我的进展了。
还有很多深入的功能没有探索到,但就我问题所说的验证数据准确性。因为我之前没有找到一种可以模拟人类操作中很重要的一个操作,就是“观察&记录”。也就是说我不知道如何获得我找到的一个TextView里的Text内容。如果知道了这一步操作就可以记录一些数据然后进行对比了。下面是我找到的一种可以getText()的方案。

String getText(final Matcher<View> matcher) {
    final String[] stringHolder = { 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 tv = (TextView)view; //Save, because of check in getConstraints()
            stringHolder[0] = tv.getText().toString();
        }
    });
    return stringHolder[0];
}

代码摘自:http://stackoverflow.com/questions/23381459/how-to-get-text-from-textview-using-espresso


前段时间由于工作需要研究了一下自动化测试的一些东西,包括Android提供的Espresso,以及第三方跨平台的Appium。这两者都是侧重于UI测试的,对于功能性或者单元测试还是要用其他的工具进行编写。

Espresso我基本也是通读了一下官方提供的文档,包括UI Automator也顺带看了一下。Espresso已经可以基本满足单一APP的业务流程测试的需要(当然是面向UI的测试),UI Automator(以及Appium)对于跨APP测试有着很好的支持。

我目前正在针对自动化测试写一个系列文章,在我的主页可以查看,以供参考~ 这方面的参考资料确实很少,希望可以多多交流~

【热门文章】
【热门文章】