Pytest + Allure 自动化测试 Web 项目完整流程
本文主要内容为使用pytest自动化测试web项目
1. 安装pytest
1.打开pycharm的终端

2.输入命令安装pytest
pip install pytest
2. 安装Allure
1.安装Pytest Allure插件:
输入命令安装
pip install allure-pytest

2.验证是否安装成功;
pytest --alluredir=report --version
若如图输出版本号且未报错则安装成功

3.安装Allure命令行工具
- 安装Node.js和npm(若安装则跳过)
访问Node.js官网下载并安装(默认配置即可,会自动配置环境变量,同时安装 Node.js 和 npm)
打开终端,执行以下两条命令,均输出版本信息即说明安装成功:
node -v # 验证Node.js版本
npm -v # 验证npm版本(npm随Node.js一同安装,无需单独下载)
- 用管理员权限打开pycharm,再在pycharm终端执行如下命令安装Allure命令行工具
npm install -g allure-commandline
安装成功后,可通过allure --version验证是否安装成功;
3. request库
什么是requests库:
Python 的 requests 库是一个简洁易用的第三方 HTTP 请求库,用于向 Web 服务器发送各类 HTTP 请求,核心价值是大幅降低接口请求的开发成本。
1.安装requests库(非内置库,首次使用需安装)
输入如下命令安装:
pip install requests
2.使用request
如下图
method是请求方式
url是请求路径
json是请求参数

解析响应的api
response.status_code # 获取HTTP状态码(如200)
response.text # 获取文本格式响应内容
response.json() # 解析JSON格式响应内容(返回字典,便于业务断言)
4. 使用Pytest测试
1.启动准备好的java项目

2.打开pytest写好用例测试
(测试用例通常遵循 test_ 命名规范)
这里测试登录接口
(user_info里的数据是mysql里存好的)
assert是断言结果(核心:验证是否符合预期)
(若不了解断言可先看本文最后部分)

3.在pytest终端输入pytest开始自动化测试
如图可以看到测试用例通过(上面断言写了判断状态码是否等于200,用例通过了说明状态码是200,请求成功)
可以看到后端也输出了登录成功的日志

5. 使用Allure生成可视化测试报告
1.生成测试结果:
输入如下命令
pytest --alluredir=report

会将测试结果输出到report文件夹(若未创建则会自动创建)

2.将测试结果转化为可视化报告:
输入如下命令
allure serve report


若要关闭报告服务,在终端按下 Ctrl + C 即可。
断言Assert(可跳过)
什么是Assert: assert是一种调试工具,用于在代码中检查某个条件是否为True。它的核心作用是帮助开发者在开发和测试阶段快速发现逻辑错误,验证程序的假设是否成立,相当于给代码加上 “自检关卡”。
1.基本语法
- 基础格式
assert 条件表达式
- 带异常描述信息的格式(推荐)
assert 条件表达式, 异常描述字符串 # 描述信息可选,用于说明断言失败的原因
2.执行逻辑
断言的执行规则非常明确,分两种情况:
- 当条件表达式的结果为True时:程序会忽略断言语句,继续向下正常执行;
- 当条件表达式的结果为False时:程序会立即触发AssertionError(断言错误,Python 内置异常类型),并终止当前程序的执行(若未捕获该异常);
- 若使用带描述信息的语法,触发AssertionError时,描述字符串会一同输出,帮助快速定位问题根源。
更多推荐


所有评论(0)