自动化测试框架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爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模