首页 > 其他分享 >pytest+yaml+allure+log接口自动化框架搭建+代码演示+代码解析

pytest+yaml+allure+log接口自动化框架搭建+代码演示+代码解析

时间:2024-11-20 16:17:40浏览次数:3  
标签:log 配置文件 Allure 代码 py allure install pip utils

一、引言

一个完整的自动化测试框架,我们可以结合 pytestAllureloguruyaml 等工具来完成。这个框架不仅包含了请求和数据库连接的封装,还支持丰富的日志记录、Allure 报告生成和 YAML 配置文件管理。下面展示如何搭建这样一个框架,以及如何编写测试用例、配置文件和进行各种场景的测试。

二、框架搭建流程

1. 安装条件

首先,我们需要安装相关的依赖包。以下是必要的 Python 库及工具:

必要依赖:

pip install pytest             # Pytest 测试框架
pip install allure-pytest      # Pytest 与 Allure 集成
pip install loguru             # 日志工具
pip install pyyaml             # 读取 YAML 配置文件
pip install requests           # 请求封装
pip install pymysql            # MySQL 数据库连接

Allure 安装:

1安装 Allure 命令行工具:
1.1MacOS / Linux
brew install allure
        1.2Windows

     请参考 Allure 官方文档 安装 Windows 版本的 Allure。

 2查看是否安装成功
allure --version

2.项目框架结构

test_framework/
├── tests/                         # 测试用例
│   ├── test_example.py            # 示例测试用例
│   ├── test_api.py                # API 测试用例
│   └── test_database.py           # 数据库测试用例
│
├── utils/                         # 工具类
│   ├── request_utils.py           # 请求封装工具类
│   └── db_utils.py                # 数据库连接工具类
│
├── config/                        # 配置文件
│   ├── test_config.yaml           # 测试配置文件
│
├── logs/                          # 日志文件
│
├── pytest.ini                     # pytest 配置文件
└── conftest.py                    # 全局配置

3核心代码

3.1 request_utils.py —— 请求封装

使用 requests 封装常见的 HTTP 请求方法:

request_utils.py 主要封装了 HTTP 请求,支持 GET、POST 请求,并通过日志记录请求和响应。

# utils/request_utils.py
import requests
from loguru import logger

class HttpRequest:
    def __init__(self):
        self.session = requests.Session()  # 使用 Session 以便复用连接
        self.session.headers.update({
            'Content-Type': 'application/json',
        })
    
    def send(self, method, url, **kwargs):
        try:
            response = self.session.request(method, url, **kwargs)
            response.raise_for_statu

标签:log,配置文件,Allure,代码,py,allure,install,pip,utils
From: https://blog.csdn.net/weixin_48027312/article/details/143915491

相关文章

  • 大学生作业参考:ASP.NET大作业(酒店管理)及文档及代码免费下载
    资源描述本资源提供了一个包含详尽代码的完整的ASP.NET大作业项目,主题为“酒店管理”。该项目适用于大学生作为课程作业或学习参考。本资源涵盖酒店管理系统的各个方面,包括:客房管理预订管理客户管理财务管理使用说明下载与解压资源直接从本资源中下载资源文件。下载完......
  • 【设计模式】深入理解模板方法模式与策略模式(行为型模式)——写出更灵活的代码!
    全文目录:开篇语目录......
  • nginx 按日期生成log
    #!/bin/bash#获取昨天的日期date=$(date+%F-d-1day)#进入Nginx日志目录cd/usr/local/nginx/logs#创建备份目录(如果不存在)if[!-dbak];thenmkdir-pbakfi#移动日志文件到备份目录并重命名mvaccess.logbak/access_$date.logmverror.logbak/error_$date.l......
  • 程序员的 AI 启蒙课:ChatGPT+ Copilot开发Vue3 仿简书项目 90%代码AI生成
    程序员的AI启蒙课:ChatGPT+Copilot开发Vue3仿简书项目,90%代码AI生成在人工智能(AI)技术日新月异的今天,程序员们迎来了前所未有的机遇与挑战。特别是随着ChatGPT和GitHubCopilot等智能编程助手的兴起,软件开发的方式正在发生深刻变革。本文将带领大家踏上一场AI辅助......
  • 如何让领导轻松在本地查看Allure报告
    如何让领导轻松在本地查看Allure报告问题描述当我们把精心生成的Allure报告原始文件发送给领导后,领导直接打开index.html文件时,页面却一直处于加载状态,无法显示数据。通过F12开发者工具检查,我们发现这是由于浏览器跨域请求问题导致的。具体来说,当尝试通过XMLHttpRequest对象从......
  • 【MATLAB代码】基于IMM(Interacting Multiple Model)算法的目标跟踪,所用模型:CV、CA、CT
    文章目录3个模型的IMM(代码简介)源代码运行结果代码介绍总结3个模型的IMM(代码简介)本MATLAB代码实现了基于IMM(InteractingMultipleModel)算法的目标跟踪。它使用三种不同的运动模型(匀速直线运动、左转弯和右转弯)来预测目标的位置,并通过卡尔曼滤波进行状态估计。源代......
  • 1(2)verilog语法基础
    语法介绍可综合与不可综合可综合的verilog语法:语法可以综合成实际的电路组合逻辑:由一堆逻辑单元实现时序逻辑:由寄存器(D触发器)实现,如always@(posedgei_clk)b<=a;只有在时钟上升沿才会把值输出出去,否则就一直存着不可综合的verilog语法:语法不可综合成实际的电路如a<=#1b......
  • 点云特征提取代码
            本篇文章主要给出部分点云特征提取的代码,鉴于自身水平所限,如有错误,欢迎批评指正。        环境:vs2015,pcl1.8.1harris:iss:sift:boundary:代码://(欢迎进Q群交流:874653199)#include<pcl/point_types.h>#include<pcl/common/common.h>#include......
  • 计算机毕设项目源代码 python基于Python web框架的学生宿舍管理系统
    标题: python基于Pythonweb框架的学生宿舍管理系统设计一个基于PythonWeb框架的学生宿舍管理系统,可以显著提高宿舍管理的效率和便捷性。以下是一个典型的学生宿舍管理系统的主要功能模块:1.系统概述•目标:简化宿舍管理流程,提高管理效率,提升学生满意度。•技术栈:Python(后......
  • 基于蚁群算法实现图像边缘检测——Matlab代码实现
    图像边缘检测是计算机视觉领域中的一个重要问题,它在图像处理、模式识别、目标跟踪等方面具有广泛的应用,本文将介绍一种基于蚁群算法实现的图像边缘检测方法,并提供相应的Matlab代码实现。蚁群算法是一种模拟自然界蚂蚁觅食行为的优化算法,其具有自适应、高效等优点,在图像边缘......