httprunner4.x学习 - 01-安装和简单使用案例
前言:
HttpRunner
是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。
现在版本已经迭代到V4.3.0,我以V4.3.0版本作为学习案例。
windows环境安装:
pip install httprunner
安装完成后,可以用hrun 命令了,比如查看版本:
C:\Users\DELL>hrun -V
v4.3.0
脚手架创建项目:
1.阅读官方文档,httprunner迭代到4.X后,新增了hrp命令,可以上github上下载hrp.exe工具:
解决到任一目录:
2.配置环境变量:
3.试着用它来创建项目:
hrp startproject httprunnerV4.0_demo
从打印日志可以看出,hrp主要是调用cmd.exe命令来先创建python虚拟机(C:\Users\DELL\.hrp\venv),然后在上面创建项目,看了其它博客都是你抄我,我抄你的,完全不了解其中的原理,这也导致遇到以下问题时,不会自己解决,比如这哥们:
分析:
其中的问题就是:Error: pip install funppy==v0.5.0 failed: pip install package failed: exec: "cmd.exe": executable file not found in %PATH%: prepare python3 venv failed
分析根因:hrp在调用cmd时,没有找到cmd.exe,猜想就是自己的cmd环境变量没配置好(我开始也遇到过)
解决方式:很简单,在Path加上cmd的环境变量就行了:
%SystemRoot%\system32;%SystemRoot%;C:\Windows\System32\cmd.exe;
创建后,如下是项目的目录结构
httprunnerV4.0_demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
│ └── .keep
├── reports
│ └── .keep
└── testcases
├── demo_ref_testcase.yml
├── demo_requests.yml
└── demo_with_funplugin.json
相关目录与文件说明
- .env 是环境配置文件
- .gitignore 传git仓库时忽略文件
- debugtalk.py 辅助函数功能文件
- har 录制的文件目录
- eports 报告目录
- testcases 测试用例目录
其中,testcases 文件夹中包含了多个示例测试用例,我们写自动化用例主要是在这目录编写yml文件
编写测试场景:
接口间的参数依赖是最常见的,我这里的场景是:
1.登录自己的测试平台imos,获取token
2.请求头加上token查看任务列表
get_imos_task_list.yml
config: name: "login_imos_case" variables: username: admin password: quxue2023 headers: User-Agent: ${get_user_agent()} verify: False export: [ "foo3" ] teststeps: - name: "登录测试平台imos" request: method: POST url: /login headers: Content-Type: application/json User-Agent: HttpRunner/${get_user_agent()} json: username: ${username} password: ${password} extract: token: "body.data.token" validate: - eq: ["status_code", 200] - name: "查看任务列表" request: method: GET url: /task headers: Accept: application/json, text/plain, */* Authorization: Bearer ${token} params: page: 1 size: 10 search: "" validate: - eq: ["status_code", 200] - eq: ["body.code", 200] - eq: ["body.message", "操作成功"]
执行测试场景:
加上 --gen-html-report 是生成报告
hrp run .\testcases\get_imos_task_list.yml --gen-html-report
打开html报告,熟悉的画面回来了:
可能遇到问题:
全局变量未生效,导致真实请示url没有加上base_url
查看官网,才知道人家早已经把base_url搬到.evn,编辑base_url即可
总结:
1.httprunner4.x新增了命令工具hrp,主要调用cmd命令来完成一些操作,如创建虚拟环境>创建项目,说白了就是操作的封装。
2.config里的base_url已经搬到.env文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?