HttpRunner v3.0框架的使用练习

HttpRunner v3.0框架使⽤

1.如何发现:
testerhome.com/开源项⽬/HttpRunner
是想尝试编写维护YAML or JSON脚本实现Web⾃动化测试并输出好看的测试报告「Allure」
2.介绍:
HttpRunner 是⼀款⾯向 HTTP(S) 协议的通⽤测试框架,只需编写维护⼀份YAML/JSON脚本,即可
实现⾃动化测试、性能测试、线上监控、持续集成等多种测试需求。
3.环境配置:
HttpRunner 是⼀个基于 Python 开发的测试框架,可以运⾏在 macOS、Linux、Windows 系统平
台上。
python3.6
4.安装/使⽤:
1.安装HttpRunner:
• 终端输⼊:pip install httprunner
ps:如果已经安装过,可直接更新升级
• 终端输⼊:pip install -U HttpRunner
在这里插入图片描述
测试安装
• 终端输⼊:hrun -V
在这里插入图片描述
查看命令
• 终端输⼊:hrun -h
在这里插入图片描述
2.创建项⽬
选择你需要的路径
• 终端输⼊:httprunner startproject 项⽬名
在这里插入图片描述
在PyCharm上open刚创建的项目
在这里插入图片描述
在这里插入图片描述
包含了3个⽂件夹,1个debugtalk.python⽂件
简单介绍⼀下:
har⽂件夹:可以存放录制导出的.har⽂件「抓包⼯具Charless可导出的⽂件」
reports ⽂件夹:存储测试报告或⽇志
testcases⽂件夹:⽤于存放需要维护的测试⽤例
.env 放置在项⽬根⽬录下,可以⽤于存放⼀些环境变量
debugtalk.py 放置在项⽬根⽬录下(借鉴了pytest的conftest.py⽂件的设计)
3.运⾏
我们来运⾏⼀下:
可以直接运⾏测试⽤例,也可以直接运⾏整个项⽬。
运⾏项⽬:
• 终端输⼊:hrun 项⽬名
在这里插入图片描述
以上是运⾏了testcases/2个demo⽤例「⾃带的」
也可以直接运⾏⽤例
• 终端输⼊:hrun 项⽬名/testcases/demo⽤例名
在这里插入图片描述
4.录制⽤例
1.打开Charles
抓包到需要的请求信息,我在百度搜索search⽹⻚为例:
在这里插入图片描述
2.导⼊记录到项⽬名/har⽂件夹下
在这里插入图片描述
3.在PyCharm中可以查看到刚导⼊的har⽂件
在这里插入图片描述
• 我们现在需要⽤到的是:har2case
原理就是当前主流的抓包⼯具和浏览器都⽀持将抓取得到的数据包导出为标准通⽤的 HAR 格式
(HTTP Archive),然后 HttpRunner 将 HAR 格式的数据包转换为YAML/JSON格式的测试⽤例⽂
件。
找到har路径
• 终端输⼊:har2case .har

在这里插入图片描述
被转化成了JSON⽂件

在这里插入图片描述
Hrun JSON⽂件后

在这里插入图片描述
会出现pytest项⽬包,现在可以⽤hrun运⾏,也可以⽤pytest运⾏
• 因为httprunner封装了pytest,所有既可以⽤hrun去运⾏,也可以⽤pytest去运⾏。
在这里插入图片描述
5.⽂件转化
只要在命令后⾯多加对应的参数就⾏了。
• 转化成yml⽂件
har2case har⽂件-2y
• 转化成json⽂件
har2case har⽂件-2j
6.测试报告
1.html报告:
Httprunner 安装之后⾃带 pytest-html插件,当你想⽣成 HTML测试报告时,可以添加命令参数–
html
• 终端输⼊:hrun testcases/yml⽂件 --html=reports/html⽂件名
在这里插入图片描述
在这里插入图片描述
浏览器阅读
在这里插入图片描述
2.allure报告:
• 安装 allure-pytest:pip3 install allure-pytest
• 安装 httprunnerallure:pip3 install “httprunner[allure]”
• 终端输⼊:hrun testcases/ --alluredir=reports/allure_reports/ --clean-alluredir
• 终端输⼊:allure serve reports/allure_reports/
报告出testcases⽂件夹下的⽤例报告
在这里插入图片描述
在这里插入图片描述
5.结构解析「待补充」
1.项⽬结构:
• debugtalk.py(可选):存储项⽬中逻辑运算辅助函数
◦ 该⽂件存在时,将作为项⽬根⽬录定位标记,其所在⽬录即被视为项⽬⼯程根⽬录
◦ 该⽂件不存在时,运⾏测试的所在路径(CWD)将被视为项⽬⼯程根⽬录
◦ 测试⽤例⽂件中的相对路径(例如.csv)均需基于项⽬⼯程根⽬录
◦ 运⾏测试后,测试报告⽂件夹(reports)会⽣成在项⽬⼯程根⽬录
• YAML/JSON/Python(必须):测试⽤例⽂件,存储接⼝测试相关信息
• .env(可选):存储项⽬环境变量,通常⽤于存储项⽬敏感信息
• .csv(可选):项⽬数据⽂件,⽤于进⾏数据驱动
• reports:默认⽣成测试报告的存储⽂件夹
• testcases: 测试⽤例存放⽬录
• testsuites: 测试⽤例集存放⽬录
• data: 存储参数化⽂件,或者项⽬依赖的⽂件
1.demo tree:
$ tree demo -a
demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
├── reports
└── testcases
├── demo_testcase_ref.yml
└── demo_testcase_request.yml
2.完整的结构:
tree httprunner_demo -a
httprunner_demo
├── .env
├── .gitignore
├── data
│ ├── account.csv
│ └── vip.csv
├── debugtalk.py
├── har
├── logs
│ └── 2aad97e8-2c00-46a6-8897-e129e0d741be.run.log
├── reports
│ ├── assets
│ │ └── style.css
│ └── demo.html
├── testcases
│ ├── init.py
│ ├── demo_testcase_request.yml
│ ├── demo_testcase_request_test.py
└── testsuites
└── suite.yml
2.⽤例结构:
YAML & Python & JSON
在3.x版本上,官⽅强烈建议使⽤的是pytest格式的⽤例。原因:主要是编写Python可以复⽤IDE的
能⼒,包括语法提⽰、⾃动补全,这些都会是Yaml/Json⽐较⽋缺的。
对于单个YAML⽂件来说,数据存储结构为 list of dict 的形式,其中可能包含⼀个全局配置项
(config)和若⼲个测试步骤。
config:

teststeps:

  • step 1

  • step 2


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.参考⽂献:
HttpRunner使⽤⽂档:https://docs.httprunner.org/
HttpRunner V3.x 从⼊⻔到精通:https://www.cnblogs.com/feng0815/p/14402863.html
Github:https://github.com/HttpRunner/HttpRunner

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值