Web自动化测试的详细流程和步骤
Web自动化测试的详细流程和步骤
一、什么是web自动化测试
自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。
这是教科书里面的自动化的定义。回归到自动化测试,其实自动化测试就是指测试的过程在没有人或者较少的人为干预的情况下进行的测试。再简单点说,就是用程序或者脚本来测试程序。在web自动化测试中,主要目的是把测试人员从繁琐的内容中解放出来,主要做一些比如需要多次输入、多次运行的测试,比如使用边界值、等价类设计的很多测试数据需要执行,或者业务流程需要执行很多遍的时候,就可以使用web自动化测试。
二、web自动化测试的工具
现在主流的web测试工具我们常用的就是selenium那一套工具,主要包括:
- 浏览器:一般选择Chrome
- 浏览器对应的driver:ChromeDriver
- 编程语言:Python
- 测试库:Selenium库
三、web自动化测试的环境安装
浏览器安装
下载浏览器后,按照提示进行下一步安装即可。
ChromeDriver 下载
可以到npmmirror.com下载。需要注意的是,ChromeDriver的版本需要与Chrome浏览器的版本相对应,通常100的大版本对上即可。
四、web自动化测试的方法
Web自动化测试一般使用设计测试用例的方法,与功能测试相同,可以使用等价类划分、边界值、因果图、场景法等方法。
Web自动化测试实施时,一般会采用PO模式设计。PO是Page Object的简称,核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。
PO模式可以把一个页面分为三层:
- 对象库层:封装定位元素的方法。
- 操作层:封装对元素的操作。
- 业务层:将一个或多个操作组合起来完成一个业务功能。
例如登录功能,需要输入账号、密码、点击登录三个操作。测试脚本只需要调用业务层代码就可以完成。当页面需要修改时,只需要修改操作层的代码,测试代码可以完全不用修改。
五、web自动化测试的流程实施
web自动化测试流程和功能测试基本一致。下面我们以登录需求为例:
- 需求分析
这里我们以手机登录为例。
- 设计测试用例与测试数据
自动化测试测试用例不用像手工测试设计的那么详细。例如:
ID | 测试模块 | 标题 | 前置条件 | 测试输入 |
---|---|---|---|---|
login_001 | 登录 | 错误的手机号登录 | 网络正常,功能正常 | 手机号错误其他输入项正常 |
- 搭建web自动化测试环境
在上面环境安装部分已经搭建了。
- 设计web自动化测试框架
一般测试PO模式的内容包括:
- 编写代码
在po文件夹中创建page_login。脚本执行代码创建test_login。
- 执行测试用例
可以使用pytest控制测试用例的执行:
@pytest.mark.parametrize(["username", "pwd", "code", "asrt_msg"], get_data())
- 生成测试报告
可以使用Allure生成测试报告。