本文主要内容为使用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时,描述字符串会一同输出,帮助快速定位问题根源。

更多推荐