UI 自动化设计思路
近来负责测试的产品,页面上全都是图表数据,页面上交互少,可以说没有。正对这样的产品自动化,做了一些自动化方面思路整理:
自动化测试用例编写守则
首先,我们要确定一点,就是自动化的目的和作用。
自动化测试是为了代替人执行需要大量重复的规律性或“无规律”的工作,它的主要目的在于验证问题而不是发现问题;所以我们对于自动化的设计,就主要集中在功能的正确性方面。至于很多人想象中的自动化测试可以为你发现多少个bug,这个即使能实现,投入和产出也是不成比例的。
根据自动化的目的和作用,我们可以大致确定以下几点:
1. 自动化的测试用例都必须是正向的。这里的正向指的是代码可实现的非主观操作,如按钮点击、页面切换、资源下载等。至于说页面颜色显示对不对、样式好不好看等需求还是用人来实现吧,那些太费事不说,而且成本太高、效果太差。
2. 自动化的测试用例需要更多的关注功能逻辑的实现,而不必纠结于某些字段的限制。字段限制等需要在测试分析阶段来手动确定的。
3. 自动化的测试用例上下文必须有一定的顺序性,要能够互相连接起来;并且前置条件清楚,有一些是显式的前置条件,一些是隐式的前置条件。
4. 自动化的测试用例必须是可回归的,不能太马行空般飘来飘去,否则迭代和自动执行就是空谈。
自动化用例设计思路:
1、测试静态内容 (页面文本)
2、测试链接(是否存在?是否可访问?)
3、功能测试(最复杂的自动化,完成功能模块)
4、测试动态元素
5、ajax测试
6、验证结果
定位元素测试:
1、元素id
2、元素name
3、xpath语句(如果使用xpath都无法辨识到,只能是根据页面布局来寻找)
4、文档对象dom
5、链接文本