Espresso 自动化测试(一)
简介
Espresso 是在2013年的 GTAC 上首次提出,目的是让开发人员能够快速地写出简洁,美观,可靠的 Android UI 测试。
在你的项目中添加 Espresso
其实说再多还是先动手实操才是最实际的。
- 首先保证你的 Android Support Repository 已经成功安装
在你程序的 build.gradle 文件中添加依赖
// Force usage of support annotations in the test app, since it is internally used by the runner module. androidTestCompile 'com.android.support:support-annotations:23.1.1' androidTestCompile 'com.android.support.test:runner:0.4.1' androidTestCompile 'com.android.support.test:rules:0.4.1' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' androidTestCompile 'com.android.support:support-annotations:23.1.1' androidTestCompile 'com.android.support.test:runner:0.4.1' androidTestCompile 'com.android.support.test:rules:0.4.1' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
由于 annotations 的依赖关系可能会出现冲突,所以要制定它的版本
在默认配置中指定 test instrumentation runner
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Espresso 的主要组建
Espresso 由 3 个主要的组件构成。
这些组件是:
- ViewMatchers - 在当前的 view 层级中定位一个 view
- ViewActions - 跟你的 view 交互
- ViewAssertions - 给你的 view 设置断言
更简单的可以用下面的短语来表述它们:
- ViewMatchers – “ 找 某些东西“
- ViewActions – “ 做 某些事情“
- ViewAssertions – “ 检查 某些东西“
下面是使用 Espresso 的例子,你会看到那些主要的组件将会在哪里出现使用。
暂时先整理这么多,下来会举例Espresso的使用结合官方的例子来。
总结
使用来下发现Espresso还是很强大的,相当对UIAutoamtor来说的话,Espresso能够支持webView并且在列表形式的内容操作上还是比较强的,Espresso 的操作时相当快的。只是Espresso确实是针对于灰盒的UI测试。 另外实际上UiAutomator2.0 已经上基于Instrumentation的 所以来说我们应该结合两者来进行测试的,这样子我们可能就能够解决两者的问题了。