基于pytest+allure的自动化测试(一)框架结构介绍

前言

本文主要介绍基于python的pytest测试框架和requests库,来进行接口自动化测试框架搭建。测试报告使用第三方测试框架allure来生成测试报告,本文只介绍测试框架最基本常用的组件和项目结构搭建,有需要更多功能只需模块式添加即可

环境准备

  • 编程语言:python3
  • 编辑器:编辑器可选用pycharm、vscode、eclipse等
  • 库 pytest、requests、allure-pytest (pytest-allure-adaptor已停止更新,python3开始改用allure-pytest)
  • 开源测试报告框架 allure2(需要Java环境,jdk1.8+)

allure配置

allure2.8下载百度网盘
链接:https://pan.baidu.com/s/1Z3m853xkza14I_b0coO7GQ
提取码:fznm
解压后配置环境变量,DOS窗口输入命令校验:allure --version
基于pytest+allure的自动化测试(一)框架结构介绍

工作目录创建

在编码过程中我们需要把分属不同类型的文件放入对应的文件夹便于管理和维护,我的工作目录如下。由于不同类型项目需要做出针对改变,本文使用最简单基础的结构来说明
├─Data
│ │ Contains.py
│ │
│ ├─datas
│ | qa_new.yaml

├─Logs
│ | err.log
│ | log.log

├─MyConfig
│ │ config.ini
│ │ Config.py

├─Reports
│ ├─html
│ └─xml

├─TestCase
│ │ test_home.py

└─Utils
| │ Assert.py
| │ Email.py
| │ Log.py
| │ ReadSql.py
| │ ReadYaml.py
| │ Requests.py
| └─Token.py
|
│ ding_talk.py
│ readme.md
└─run.py


  • Config
    • Config.py 读取ini配置文件封装类
    • config.ini 配置文件数据
  • Data 测试用例数据源
    • datas 测试数据yaml文件包
    • Contains.py 公用变量类
  • Logs 日志文件包
    • err.log 错误日志
    • log.log 所有日志
  • TestCase 测试用例文件包
    • test_home.py 测试用例文件
  • Utils 自定义封装包
    • ReadYaml.py yaml文件读取封装类
    • Requests.py python.requests请求二次封装
    • Token.py 登录token获取封装
    • Email.py 邮件发送封装
    • ReadSql.py 读取数据库封装
    • Assert.py 断言封装
    • Log.py 日志封装
  • Reports 测试报告文件包
    • xml 测试报告原始数据包
    • html 测试报告html包
  • run.py 测试执行主程序入口
上一篇:Redis面试


下一篇:Redis学习--命令执行过程中写AOF日志和同步从库顺序