一个系统里面,会有各种各样的数据,最终呈现在用户面前的也一定是不一样的页面。自动化脚本在设计之初,就应该考虑到这个因素。不能换个账号,换个环境就不能运行脚本了。
我个人的做法是,把基本的变量(账号、环境url等等)全部拉出来,放到外面的配置文件里面。测试代码编写的时候,不要针对特定情况写,一定要多考虑其它情况下。
口说难懂,还是举个例子:一个页面,上面有搜索框,下面是一行一行的数据。现在叫你测试搜索框的模糊搜索功能。如何设计自动化测试脚本,使其具有通用性?
设计分析:
- 上面的搜索框一直会存在,固定。
- 不同的用户,看到的数据可能只有1行,也可能有多行,甚至没有任何数据。
- 模糊搜索的数据来源,最好不要来自第1行数据。
- 针对不同的账号,搜索条件肯定不一样。
所以,最终的测试代码逻辑如下:
- 首先判断页面是否有数据,如果没有,则直接跳出测试。
- 如果页面有数据,则选取第1页最后1条数据,作为搜索数据源,然后搜索,搜索之后一行行的遍历,添加断言判断搜索结果列表是否有之前的最后1条数据。
根据上面逻辑设计出的测试代码,针对不同的情况,都能应对,做到了代码的通用性。
说明到此为止,有时间会把具体的测试代码放上去,供大家参考。转载请注明出处,谢谢。