本文翻译自:Automating User Interface Tests
水平有限自己感觉很多地方表达的并不到位,但找不到更好的表达方式,如果您觉着有更好的表达方式,帮助我改进!
自动化UI测试
UI测试可以让你确保你的App满足最基本的功能需求同时有一个高质量的标砖,这样就更容易被用户接受。
一种UI测试的方法是人工测试:一个测试人员对目标App进行一系列的操作来确保各个功能的正确性。然而,这种人工的方式是非常耗时间、单调乏味,并且很容易犯错误。更有效的方式是编写你的UI测试,比如:用户的所有动作都是以自动化的方式进行。这种自动化的方式允许你快速并且可靠的运行你的测试,以一种可重复的方式。
注意:我们强烈建议你使用Android Studio来对你的App进行测试,因为它提供了工程设置,library导入和方便的打包机制。这节课假定你正在使用Android Studio。
用AndroidStudio进行Ui自动化测试时,你所有的测试代码都放在一个单独的Android测试目录中(src/androidTest/java)。Gradle插件基于你的测试代码构建你的测试App,然后加载测试App和目标App在同一个设备上。在你的测试代码中,你可以使用UI测试框架来模仿用户和目标App进行交互,来覆盖特殊的用户使用场景。
为了测试Android App,你一般需要创建如下几种自动化UI测试:
- 单个App的UI测试:这种测试确保当用户进行特殊的操作或者在它的activity中输入了特殊的内容后目标App能够表现的如期望的那样。它允许你检查目标App,当用户和App的activity进行交互时他们是否返回了正确的UI响应结果。像Espresso这类的UI测试框架允许你动态的模拟用户动作以及和测试App之间的各种复杂交互。
- 跨越多个App的UI测试:这种类型的测试确保不用的用户App以及目标App和系统App之间交互的正确性。比如,你可能想测试你照相App能否在第三方社交平台正确的分享图片或者和默认的Android 照相App之间。UI测试框架支持跨App的交互,比如UI自动化测试,允许你为这些场景创建测试。
这节课教你如何使用Android Testing Support Library提供的工具和Api 来构建这些类型的自动化测试。在你开始使用这些Api构建你的测试之前,你必须安装 Android Testing Support Library,这在Downloading the Android Testing Support Library已经说过了。
课程
单个App的UI测试
学习如何使用Espresso测试框架来测试单个App的UI。
多个App的UI测试
学习如何使用UI自动化测试框架在多个App之间测试UI。