httprunner结合pytest的自动化框架结构

2024-03-09 13:04

本文主要是介绍httprunner结合pytest的自动化框架结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2. 项目结构

2.1. 初代项目结构

3. 用例结构 - pytest

3.1. 单接口用例结构

# NOTE: Generated By HttpRunner v4.3.5
# FROM: testcases\data\data_20240229_test.json
from httprunner import HttpRunner, Config, Step, RunRequestclass TestCaseData20240229Test(HttpRunner):config = Config("testcase description")teststeps = [Step(RunRequest("请求标题:最近的充值记录").get("https://ng-apptest.transspay.net/api/cfront/airtime/recharge/records/latest").with_headers(**{"accept-encoding": "gzip","content-type": "application/json","if-modified-since": "Wed, 28 Feb 2024 06:30:02 GMT","pp_channel": "googleplay","pp_client_ver": "5.3.0&602280702","pp_device_id": "bee648d4b0a5ab70012345","pp_device_type": "ANDROID","pp_req_sign": "ZDfAAOuQ4o8I8UVzS80MrwGv7ZHRHwPyZL27ZuWCbkM45wxQ41DMokcYx3P7%2BNZxuIlgjDZqPKlOe0u3lCiOeN6CxNqgxN%2FUCyHrFYCjNqHQt7A%2FQsSt6c9rog0j6aF1rZTK7K5kqTESmpvVlbPOkUh4cmjHVxWlotIkO3%2FO2aQ%3D","pp_timestamp": "1709185674115","pp_token": "22761d93-cea3-47cf-a8f9-a8087e540409","user-agent": "PalmPay/5.3.0&602280702 (Android 13)",}).validate().assert_equal("status_code", 200, "assert response status code").assert_equal("body.respCode", "00000000", "assert response body respCode").assert_equal("body.respMsg", "success", "assert response body respMsg")),]if __name__ == "__main__":TestCaseData20240229Test().test_start()

4. 用例转换

4.1. har文件生成

fiddler 或者 Charles 导出生成

4.2. har -> pytest

根据抓包工具的jar包,生成pytest用例

命令:

hrp convert --from-har .\loginV2.har --to-pytest --output-dir .

备注:如果缺失参数:--from-har,会出现转换失败的情况(版本差异调整)

转换效果:

 D:\httprunner\demo\testcases> hrp convert --from-har .\loginV2.har --to-pytest --output-dir .
3:21PM INF Set log to color console
3:21PM INFO Set log level
3:21PM INF ensure python3 venv packages=["httprunner==v4.3.5"] python3="C:\\Users\\Administrator\\.hrp\\venv\\Scripts\\python3.exe"
3:21PM INF python package is ready name=httprunner version=v4.3.5
3:21PM INF set python3 executable path Python3Executable="C:\\Users\\Administrator\\.hrp\\venv\\Scripts\\python3.exe"
3:21PM INF convert testcase fromType=har outputType=pytest path=".\\loginV2.har"
3:21PM INF load file path=".\\loginV2.har"
3:21PM INF convert teststep method=POST url=https://ng-apptest.transspay.net/api/c-bff-product/start/loginV2
3:21PM INF dump data to json path="D:\\httprunner\\demo\\testcases\\loginV2_test.json"
3:21PM INF exec command cmd="C:\\Windows\\system32\\cmd.exe"
2024-02-25 15:21:24.591 | INFO | make path: D:\httprunner\demo\testcases\loginV2_test.json
2024-02-25 15:21:24.607 | INFO | ensure compatibility with testcase format v2/v3
2024-02-25 15:21:24.607 | INFO | Loading environment variables from D:\httprunner\demo\.env
2024-02-25 15:21:24.607 | INFO | start to make testcase: D:\httprunner\demo\testcases\loginV2_test.json
2024-02-25 15:21:24.607 | INFO | generated testcase: D:\httprunner\demo\testcases\loginV2_test_test.py
2024-02-25 15:21:24.607 | INFO | format pytest cases with black ...
reformatted D:\httprunner\demo\testcases\loginV2_test_test.pyAll done! ✨ 🍰 ✨
1 file reformatted.
3:21PM INF conversion completed outputFile=loginV2_test.py

5. 用例执行

5.1.3. pytest 直接执行

pytest .\testcases\requests_test.py --html=reports/result.html

生成报告:

6. allure报告集成

6.1. 生成allure数据

pytest .\testcases\requests_test.py --alluredir allure_result

6.2. 生成allure报告

 allure generate .\allure_result\ -o .\allure_report\

6.3. 查看报告

allure open allure-report
allure serve allure-result

这篇关于httprunner结合pytest的自动化框架结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

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

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