Web自动化测试详细流程和步骤
Web自动化测试详细流程和步骤
Web自动化测试是一种通过程序或脚本来执行测试过程的技术,主要用于减少人工干预,提高测试效率。本文将详细介绍Web自动化测试的概念、工具、环境搭建、方法论以及具体实施流程。
一、什么是Web自动化测试
自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人直接参与的情况下,根据人的要求,通过自动检测、信息处理、分析判断、操纵和控制,达到预期目标的过程。
回到自动化测试,它是指测试过程是在没有人为或较少人为干预的情况下进行的测试。简单地说,就是用一个程序或脚本来测试程序。在Web自动化测试中,主要用于将测试人员从繁琐的内容中解救出来。主要是做一些例如需要多次输入、多次运行的,例如我们使用边界值和等价类设计的大量测试数据需要执行,如当业务流程需要多次执行时,我们就可以使用Web自动化测试。
二、Web自动化测试工具
现在我们常用的主流Web测试工具是Selenium那套工具包括:
- 浏览器:一般用Chrome
- 浏览器对应的driver(ChromeDriver)
- Python
- Selenium库
三、Web自动化测试的环境安装
浏览器安装:下载浏览器并进行下一步。
ChromeDriver下载可以到npmMirror中国镜像站。
注意:100的大版本能对上就OK了。
四、Web自动化测试的方法
Web自动化测试一般采用与功能测试相同的设计测试用例的方法,使用等价类划分、边界值、因果图、场景法等。
Web自动化测试一般采用PO模式设计实现
PO是Page Object的缩写, 核心思想是通过封装界面元素来减少冗余代码。 同时,在后期的维护中,如果元素定位发生变化,只需要调整页面元素封装的代码即可,提高测试用例的可维护性、可读性。
PO模式可以将一个页面分为三层,对象库层、操作层、业务层。
- 对象库层:封装定位元素的方法。
- 操作层:封装对元素的操作。
- 业务层:组合一个或多个操作来完成一个业务功能。
例如登录:需要输入账号、密码、点击登录三个操作。
测试脚本只需要调用业务层代码即可完成
当出现页面需要时,只需要测试代码即可,无需修改,只需要修改操作层即可。
五、Web自动化测试的流程实施
Web自动化测试流程和功能测试基本相同:
我们以登录需求为例
(1)需求分析
以手机登录为例:
(2)设计测试用例与测试数据
自动化测试测试用例不需要像手工测试设计的那样详细。
【测试数据】
(3)搭建Web自动化测试环境
在上面环境安装那已经搭建好了
(4)设计Web自动化测试框架
一般测试PO模式内容包括:
(5)编写代码
在PO文件夹中创建page_login
脚本执行代码创建test_login
(6)执行测试用例
可使用Pytest控制测试用例的执行
@pytest.mark.parametrize(["username", "pwd", "code", "asrt_msg"], get_data())
(7)生成测试报告
可使用Allure生成测试报告: