自动化测试 - android UI单元测试-Espresso的相关学习资料?
PHPz
PHPz 2017-04-17 15:40:09
0
2
252

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

PHPz
PHPz

学习是最好的投资!

모든 응답 (2)
洪涛

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

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

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

    伊谢尔伦

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

    String getText(final Matcher matcher) { final String[] stringHolder = { null }; onView(matcher).perform(new ViewAction() { @Override public Matcher 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

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!