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

2024-08-22 01:52

本文主要是介绍自动化测试框架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: posturl: http://127.0.0.1:5000/api/loginjson: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
此项目是我个人研发的,欢迎各位进行拓展

这篇关于自动化测试框架pytest+allure+requests的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094909

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea