自动化测试框架pytest+allure+requests

最近复习了一下关于自动化测试的内容,结合[码尚教育] 相关的思路来对测试框架进行开发。
争取实现零代码来实现自动化测试环境的搭建

AutoTestFrame

介绍

AutoTestFrame是一个基于Python的自动化测试框架,旨在帮助测试人员快速、高效地完成测试任务。

软件架构

软件架构说明
pytest + requests + faker + allure

安装教程

pip install -r requirements.txt

使用说明

  1. 该框架基于pytest,所以首先需要安装pytest。
  2. 克隆项目到本地。
  3. 安装依赖包。
  4. 运行命令pytest即可运行测试用例。
  5. 运行命令allure generate ./reports -o./allure-report生成测试报告。
  6. 运行命令allure open ./allure-report查看测试报告。
  7. 运行命令allure serve ./allure-report启动测试报告服务器。

或者直接运行runner.py文件。

python runner.py

目录结构

AutoTestFrame
├── README.md    # 说明文档
├── resource     # 资源文件
│   ├── allure-2.30.0   # allure程序
│   └── template         # 测试用例模板
├── reports      # 测试报告
├── requirements.txt   # 依赖包
├── runner.py    # 运行文件
├── test_api_cases   # 测试用例
│   └── test_all_case.py   # 所有测试用例
└── common  # 公共模块
    ├── file_engine  # 文件处理模块
    ├── model  # 数据模型模块
    ├── util  # 工具模块
    ├── logger.py  # 日志模块
    └── config.py   # 配置文件

接口测试用例

用例模板

- 模块名称: 测试登录
  接口名称: 登录
  用例名称: 登录成功
  用例描述: 用户名正确,密码正确,登录成功
  是否运行: true
  请求数据:
    method: post
    url: http://127.0.0.1:5000/api/login
    json:
      userName: '15740525667'
      password: admin@123456
  断言:
    - 断言方式: ''
      预期响应内容: 操作成功
      实际响应内容: 'response.json().get("msg")   # 预期响应的msg值,response为requests.Response对象'
      断言信息: 登录失败
  提取数据:
    token:
      - json
      - $.data.token
      - 0

用例说明

  • 请求数据中集成了 faker 库,可以随机生成用户名和密码。
    • 使用方法:${faker.name}
    • faker 库的更多用法参考 https://faker.readthedocs.io/en/master/index.html
  • 请求数据集成了一些方法,可以直接使用。
    • 使用方法:${timestamp(13)}, 获取当前时间戳
    • 可以在 data_tools_util.py中进行拓展,实现更多的方法
  • 断言中,实际响应内容可以直接使用 response 对象获取
  • 提取数据中,可以提取响应中的 token 值,并赋值给变量 token。
    • token: [json, $.data.token, 0]
    • json: requests.Response对象的 json() 方法返回的字典
    • . d a t a . t o k e n : j s o n p a t h 表达式,用于提取 t o k e n 值 , 或者正则表达式, j s o n p a t h 表达式参考 h t t p s : / / j s o n p a t h . c o m / , 必须 ‘ .data.token: jsonpath 表达式,用于提取 token 值, 或者正则表达式,jsonpath 表达式参考 https://jsonpath.com/, 必须` .data.token:jsonpath表达式,用于提取token,或者正则表达式,jsonpath表达式参考https://jsonpath.com/,必须.开头, $表示根节点。提取出来时list`类型。
    • 0: 指示提取 token 值中的第 0 个值

项目地址

https://gitee.com/chiyaun/auto-test-frame
此项目是我个人研发的,欢迎各位进行拓展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值