1、前言
我大概是在2012年第一次正式接触到自动化测试,那个时候跟随我的团队一起,就当时项目的UI自动化尝试做出了探索。
在我离开那家公司的时候,我们的自动化测试体系仍然难言完美,但是也已经达到了非常高效的程度。我们的测试部门从业务向的纯手工测试团队,也转型为了自动化:手动=2:1的队伍结构。
时至今日,自动化测试的火热程度比起当年又要上升了几个层级,对于测试工程师而言,掌握自动化测试的技术和思路,无疑是个人重要的技术性向道路。因此我准备花一定的篇幅,从新从头开始对于java+selenium3这套自动化体系进行一些记录和解析,算是对相关技术的一个自我沉淀。也希望能对新接触此领域的朋友提供一些指引和帮助。
2、自动化体系的小简介
请允许我花小小的篇幅来介绍现在市场上主流的自动化测试体系。
抛开“广义”的自动化不说,现今的测试自动化方向主要集中在“UI”层和“API”层,也即所谓的UI自动化和接口自动化,如下图所示:
UI自动化的优势在于:
- 通过模拟用户操作实现测试
- 贴近产品和业务,方便验证和验收
其劣势(主要是对比API自动化):
- 代码量大,维护工作量大
- 容易受到变更的影响
尤其是这第一点,导致UI自动化被一些人员和企业所诟病,甚至引发一系列争议。
但是实际项目中