HttpRunner 入门 面向零基础基于 Ubuntu 虚拟机 MobaXterm 实操从安装、创建项目、编写用例、功能执行到性能压测一步步手把手教学。一、环境准备1. 基础环境说明操作系统Ubuntu虚拟机连接工具MobaXtermWindows 远程连接虚拟机网络要求虚拟机与主机网络互通桥接模式可互相 ping 通2. 前置检查虚拟机已开启 SSH 服务MobaXterm 可正常登录终端默认路径/home/你的用户名用户主目录二、安装 HttpRunnerhrp官方在线安装脚本因阿里云 OSS 限制无法使用采用离线二进制包安装稳定无报错。步骤 1下载对应安装包Ubuntu 主流架构为x86_64/amd64执行以下命令下载# 下载官方编译包 wget https://github.com/httprunner/httprunner/releases/download/v4.3.6/hrp-v4.3.6-linux-amd64.tar.gz步骤 2解压并部署程序# 解压文件 tar -zxvf hrp-v4.3.6-linux-amd64.tar.gz # 创建存放目录统一管理工具 mkdir -p ~/.hrp/bin # 移动执行文件到目录 mv hrp ~/.hrp/bin/步骤 3配置环境变量全局调用命令# 将路径写入环境变量配置文件 echo export PATH$HOME/.hrp/bin:$PATH ~/.bashrc # 生效配置 source ~/.bashrc步骤 4验证安装hrp -v输出版本号如hrp version v4.3.6即代表安装成功。三、项目基础操作1. 创建测试项目任意目录下执行命令生成标准化项目目录结构# 创建名为 demo 的测试项目 hrp startproject demo2. 进入项目目录cd demo项目目录结构说明核心文件plaintextdemo/ ├── testcases/ # 存放接口测试用例YAML 文件 ├── reports/ # 存放测试报告 ├── debugtalk.py # 自定义函数文件接口参数、数据处理 └── .env # 环境变量配置文件3. 运行官方示例用例功能测试项目自带示例用例直接执行验证流程# 运行所有用例并生成 HTML 可视化报告 hrp run testcases/ --gen-html-report执行成功终端打印所有断言resulttrue报告位置demo/results/时间戳/report.html可通过 MobaXterm 下载到 Windows 打开查看四、核心语法精讲小白必懂HttpRunner 使用YAML 格式编写用例语法简洁重点掌握 5 个核心关键字。1. config 全局配置作用整个测试用例的公共设置所有步骤共享。config: name: 测试用例名称 # 用例备注名 variables: # 全局变量全用例可用 foo1: 测试值 base_url: https://xxx.com # 接口基础域名简化地址写法 verify: False # 忽略 HTTPS 证书校验避免报错 export: [变量名] # 导出变量跨步骤使用2. teststeps 测试步骤作用一个步骤对应一个接口请求多个步骤按顺序执行。 基础模板teststeps: - name: 步骤名称 # 步骤备注 variables: # 局部变量仅当前步骤生效会覆盖全局同名变量 foo2: 局部值 request: # 接口请求核心配置 method: GET # 请求方式GET/POST url: /get # 接口路径拼接 base_url headers: # 请求头 Content-Type: application/x-www-form-urlencoded params: # GET 请求参数 key: $foo1 body: key1$foo1key2$foo2 # POST 表单/文本参数3. extract 变量提取高频用法含义从接口返回结果中提取指定字段值保存为变量给后续接口使用接口传参核心功能。extract: foo3: body.args.foo2 # 提取返回体中 args 下的 foo2 值存入变量 foo34. validate 断言判断接口是否正常含义校验接口返回结果是否符合预期断言全部通过 用例执行成功。validate: - eq: [status_code, 200] # 断言1响应状态码必须等于 200 - eq: [body.form.foo1, 预期值] # 断言2返回表单数据匹配预期eq等于最常用断言规则5. testcase 引用其他用例含义复用已写好的测试用例用例套娃实现流程化测试例登录 → 查询数据。testcase: testcases/requests.yml # 调用指定路径的其他用例 export: [foo3] # 把被调用用例的变量导出继续使用五、性能压测hrp boom使用hrp boom实现并发压测模拟多用户同时请求接口测试接口承压能力。1. 压测命令语法hrp boom 用例文件路径 --spawn-count 并发数 --spawn-rate 爬坡速率参数白话解释--spawn-count总并发用户数模拟多少人同时请求接口--spawn-rate爬坡速率压斜率每秒新增多少个并发用户2. 实操示例以项目内置用例为例100 并发、每秒新增 10 个用户# 进入项目目录后执行 hrp boom testcases/requests.yml --spawn-count 100 --spawn-rate 10逻辑10 个用户 / 秒递增10 秒后达到 100 并发持续压测3. 压测报告指标解读压测结束后终端会输出统计数据核心指标一看就懂指标含义参考标准Passed / Failed成功请求数 / 失败请求数失败数越低越好生产环境建议失败率 0Total Fail Ratio整体失败率一般要求 ≤1%Total RPS每秒处理请求数吞吐量数值越大接口性能越强Average Response Time平均响应时间数值越小接口响应越快常规要求 500msMAX Response Time最大响应时间排查慢请求、超时问题4. 压测注意事项禁止压测线上生产接口仅测试测试环境接口先保证功能用例执行正常再做压测并发数循序渐进不要一次性设置超大并发避免服务器崩溃。六、常见报错 解决方案报错 1no such file or directory文件不存在原因命令中写的用例文件名 / 路径错误解决执行ls testcases/查看真实文件名修正路径报错 2接口请求超时 / 连接失败原因 1虚拟机网络不通、防火墙拦截 解决检查虚拟机桥接模式临时关闭主机 / 虚拟机防火墙原因 2接口地址错误 解决核对base_url和接口路径报错 3HTTPS 证书异常解决在config中添加verify: False跳过证书校验报错 4压测出现大量 Failed原因并发过高、接口本身性能瓶颈、服务器连接数不足解决降低并发数 / 爬坡速率排查接口代码、服务器资源七、学习总结 进阶方向基础流程回顾安装工具 → 创建项目 → 编写 / 运行功能用例 → 查看报告 → 执行性能压测入门重点优先掌握变量、请求配置、extract提取、validate断言这是接口自动化核心。进阶学习方向自定义函数修改debugtalk.py实现复杂数据处理数据驱动使用 CSV/JSON 实现多组参数循环测试场景化测试通过testcase串联多个接口模拟完整业务流程。