httprunner 3.X 框架介绍

httprunner 3.X 框架,是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
官方文档:
https://www.ontheway.cool/HttpRunner3DocsForCN/
可参考文档:
https://blog.csdn.net/qq_39214101/category_10314114.html
环境:
已安装python环境,httprunner,已安装java环境
一、初始化框架
在所需创建的文件夹下,执行命令
httprunner startproject test_mysite
执行命令后,创建一个名为test_mysite的目录,
这是自动生成的框架的目录架构 主要分成
-har是放置har脚本的目录
-log目录下为生成的日志
-reports目录下为生成的报告
-testcases目录下为测试用例
-debugtalk.py文件用于编写函数辅助测试
在这里插入图片描述

二、通过抓包生成har文件
HAR(HTTP Archive),是一个用来储存HTTP请求/响应信息的通用文件格式,基于JSON
使用HTTP分析工具(包括Firebug,httpwatch,Fiddler,chrome自带工具等),生成har文件,放入har目录,这里面是放置har脚本的目录,可以使用har2case对har脚本进行json/yml/py三种格式文件的转换,用于接口测试。
此处以fiddler为例
1、选定后需要导出的接口后,点击File>Export Session>All Session/Selected Sessioned,然后选中HAR规范协议为1.2,然后输出到我们的项目中的har目录

2、然后使用命令进行转化
har文件可以生成两种文件格式,json和yml文件:
进入har文件所在目录,在cmd中,或者pycharm的Terminal中执行命令:
生成json文件命令:har2case har_demo.har -2j

生成yml文件命令:har2case har_demo.har -2y

转换为py文件:har2case har_demo.json/har_demo.yml

以生成的json/yml/py,来作为请求的参数构建测试用例
在这里插入图片描述

3、测试用例结构
在httprunner中,测试用例组织主要基于三个概念:
测试用例集(testsuite): 对应一个YAML/JSON/Python文件,包含单个或多个测试用例文件。
测试用例(testcase): 对应一个YAML/JSON/Python文件,包含单个或多个测试步骤。
测试步骤(teststep): 对应YAML/JSON/Python中 teststeps下的一个节点,描述单次接口测试的全部内容,包括发起接口请求、解析响应结果、检验结果等。
对于单个YAML文件来说,数据存储结构为list of dict的形式,其中可能包含一个全局配置项(config)和若干个测试步骤。
具体地: * config: 作为整个测试用例的全局配置项 * 测试步骤:对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤。
testcase对应的YAML格式如下所示:
har文件可以生成两种文件格式,json和yml文件:
进入har文件所在目录,在cmd中,或者pycharm的Terminal中执行命令:

生成json文件命令:har2case har_demo.har -2j

生成yml文件命令:har2case har_demo.har -2y

转换为py文件:har2case har_demo.json/har_demo.yml

以生成的json/yml/py,来作为请求的参数构建测试用例
在这里插入图片描述

3、测试用例结构

在httprunner中,测试用例组织主要基于2个概念:
测试用例集(testsuite): 对应一个YAML/JSON/Python文件,包含单个或多个测试用例文件。
测试用例(testcase): 对应一个YAML/JSON/Python文件,包含单个或多个测试步骤。
对于单个YAML文件来说,数据存储结构为list of dict的形式,其中可能包含一个全局配置项(config)和若干个测试步骤。
具体地: * config: 作为整个测试用例的全局配置项 * 测试步骤:对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤。

testcase对应的YAML格式如下所示(官方那):
在这里插入图片描述

variables配置的变量,引用方式为 $name

在debugtalk.py写的函数被引用方式为 “${getStrAsMD5(2021dam)}”
在这里插入图片描述

4、debugtalk.py编写所需函数
在debugtalk里编写用例需要用到的一些函数,比如获取当前时间,MD5的转化
注:需要返回所需要引用的值
在这里插入图片描述

5、运行测试用例获取接口报告
运行单个测试用例
hrun testcases/Userlogin.yml --html=report/report0623.html
运行所有的测试用例
hrun testcases --html=report/report0623.html

参考链接
https://www.ontheway.cool/HttpRunner3DocsForCN
https://blog.csdn.net/qq_39214101/category_10314114.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值