在介绍我们的测试平台方案之前,需要提前说明的是,我们在使用 Espresso 的方式可能和官方 Demo 里所展示的方式不完全一样。为了让我们写的测试代码能够更加灵活和方便的被复用在不同的测试用例中,从而实现更低成本的全功能覆盖,我们进行了一些方案设计,最后实现了我们现在的测试平台。
给我们的测试方案取了一个高大上的名称——ETP 测试方案,也就是 Espresso Test Platform 的简称。大家如果看过 Google 官方的 Demo 的话,就应该能理解官方的思路其实是每个测试是完成一条完整的逻辑测试,比如完成添加一个笔记的测试逻辑。
这样的测试流程总结下来有两个比较明显的问题:
每条测试用例需要单独编写,代码的复用性差,导致编写单元测试的成本较高,虽然 Google 官方提供录制测试脚本的功能,但是生成的代码可用性并不强,大多数情况下还是需要靠人来编写。
复杂场景的处理能力,这样一条单独的测试流程容易被触发性的弹窗或者引导提示打断,如果在单条测试中做过多的判断,又会让单条测试用例变得臃肿,从而让所有的测试用例都变得臃肿而且难于维护和更新。
原文转自:http://ohmerhe.com/2017/04/18/espresso_huge_ui_test/