HttpRunner
文章平均质量分 52
奔跑在路上you
记录分享测试相关文章
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Httprunner(24)_知识点总结
(可以同时传递多组参数)如:[ ['猫','猫_百度搜索'],['老虎','老虎_百度搜索'] ]也可以引用testcases层的别的yml文件(通过用例层调用用例层,需要使用output/export进行返回,在使用extract进行提取)6,完成初始化和清理工作(hook: ): setup_hooks: teardown_hooks: (可放用例层级或者用例步骤层级)- eq: ["${to_utf8($title)}","百度一下,你就知道"] # 断言 以utf-8编码。原创 2024-08-15 10:33:44 · 830 阅读 · 0 评论 -
HttpRunner(23):httprunner的请求证书验证
在对https 接口进行测试时如果请求经过代理则可能会有certificate verify failed 的报错,原因是request 模块发送请求函数有个参数verify 值默认为True.使用httprunner 则可在用例yml 或json 文件中将config 或teststep 中该参数设置为False 跳过证书验证。原创 2024-08-15 10:33:26 · 199 阅读 · 0 评论 -
HttpRunner(22):httprunner设置代理
httprunner 库本身没有提供设置代理的接口,但是底层使用了urllib.requests 等库,可以设置HTTP_PROXY 和HTTPS_PROXY 环境变量,常用的网络库会自动识别这些环境变量。日常调试使用代理(如charles 等工具)可在debugtalk.py 开头加上:如下图。原创 2024-08-15 10:33:13 · 224 阅读 · 0 评论 -
HttpRunner(21):httprunner运行方式
hrun:httprunner的缩写,功能与httprunner完全相同 例:hrun ./项目文件的路径 、httprunner ./项目文件的路径。har2case:辅助工具,可将har格式(HTTP Archive)转换为YAML或者JSON格式。在项目的根目录下新建一个py文件,如下图:run_httprunner.py。作为软件包集成到自己的项目中,通过类名.方法调用,这种方式同样支持参数化。2、httprunner ./项目文件的路径;1、使用 hrun ./项目文件的路径;原创 2024-08-15 10:32:58 · 499 阅读 · 0 评论 -
HttpRunner(20):脚手架工具使用(一键搭建)
每一个成熟的系统工具,都会有对应的脚手架工具,它可以快速构建项目的必要目录,不必自己一个一个的配置与搭建,只需要执行一些命令即可。2、输入脚手架(一键搭建)命令:hrun --startproject httprunner_test_demo;1、在pycharm中的 Terminal 命令模式下中输入命令,先输入cd .. 退出所在的项目;1、在命令模式下输入hrun --startproject 项目名称。2、使用pycharm打开自动创建的 项目名称 目录。原创 2024-08-15 10:32:43 · 214 阅读 · 0 评论 -
HttpRunner(19):录制工具使用--使用抓包工具通过命令转成yml文件
为了简化测试用例的编写工作,HttpRunner实现了测试用例生成的功能,对应的转换工具为一个独立的项目:har2case。2、通过命令har2case har的数据包路径 -2y或--to-yml 转为yml文件,默认转为json格式。4、执行命令:har2case har的数据包路径 -2y 转成baidu.yml文件;4、执行命令:har2case har的数据包路径 -2y 转成 .yml文件;1、打开Fiddler 抓包工具,先捕获需要的http请求。原创 2024-08-14 09:57:40 · 449 阅读 · 0 评论 -
HttpRunner(18):times 重复执行
单个用例重复执行如果想让某个测试步骤重复执行,可以在test 中增加times参数,如下:原创 2024-08-14 09:57:25 · 196 阅读 · 0 评论 -
HttpRunner(17):实现参数化传递
通过testsuite层下testcases中的variables传递参数,如下图的search_word参数,可以传递至testcases层或api层相对应的$search_word中。通过testsuite下testcases中的parameters传递参数,如下图的search_word参数,可以传递至testcases层或api层相对应的$search_word中。第一步:在项目的根路径下新建data文件夹,在该文件夹中新建csv文件,文件中填写对应的数据,可以有多列,需要使用英文逗号隔开。原创 2024-08-14 09:57:03 · 972 阅读 · 0 评论 -
HttpRunner(16):响应中文乱码处理
图1中 extract 提取title标题,output 输出 title 变量值,如下图2可见,输出的变量值成了乱码,图3的报告中可以看到响应的编码为 ISO-8859-1。当调用接口,响应正文返回的中文是乱码时,一般是响应正文的编码格式不为 utf-8 导致,此时需要根据实际的编码格式处理。上述是通过utf-8进行断言比对,还可以通过 iso8859-1 进行断言比对;在yaml文件中,断言引用函数需要加引号 " ",如下图。# iso8859-1 编码,解码成 utf-8。原创 2024-08-14 09:56:41 · 493 阅读 · 0 评论 -
HttpRunner(15):httprunner的测试用例分层机制
测试用例集(testsuite)是测试用例的无序集合,集合中的测试用例应该都是相互独立,不存在先后依赖关系的;在接口自动化测试维护过程中,由于测试用例的增加和需求变更导致测试用例的调整,使自动化测试用例的维护非常麻烦,直接关系到自动化测试能否持续有效地在项目中开展。可以在testcases层调用多个api层的接口,可以做成几个子套件,在testsuites层做个主套件,可以调用多个testcases层的用例;在项目的根目录下新建一个以api命名的文件夹,并在api下编写yml文件;原创 2024-08-14 09:56:26 · 509 阅读 · 0 评论 -
HttpRunner(14):忽略跳过用例--skip
skipUnless: False # 条件为 False 时跳过。# skipIf: True # 条件为 True 时跳过。条件不成立,返回值为False时候成立(0、空等为false)条件成立,返回值为True时候成立(非0、非空等为true)- eq: [$title,"猫_百度搜索"]# 忽略跳过用例只能在测试步骤中使用。# skip是用来忽略跳过测试用例。skip: 无条件跳过。name: 百度主页。name: 百度搜索。原创 2024-08-14 09:56:08 · 260 阅读 · 0 评论 -
HttpRunner(13):初始化和清理操作--hook机制
Httprunner 框架中的 hook 机制相当于unittest框架中的 setup , teardown 函数,用来进行测试用例执行之前的环境初始化以及测试用例执行完毕之后的环境清理操作。httprunner 中的 hooks 机制可以用在测试用例层级也可以用在测试步骤层级,其关键字是:setup_hooks、teardown_hooks。2.在测试用例文件中的 config 及test 中根据需要加入setup_hooks、teardown_hooks。# hook 是完成初始化和清理工作的。原创 2024-08-14 09:55:52 · 401 阅读 · 0 评论 -
HttpRunner(12):辅助函数debugtalk.py
Httprunner框架中,使用yaml或json文件进行用例描述,无法做一些复杂操作,如保存一些数据跨文件调用,或者实现一些复杂逻辑判断等,为了解决这个问题,引入了debugtalk.py辅助函数来进行一些复杂操作。- eq: [$title,"猫_百度搜索"]# 调用 debugtalk.py文件中的函数。name: 百度主页。name: 百度搜索。原创 2024-08-14 09:55:37 · 357 阅读 · 0 评论 -
HttpRunner(11):跨文件传递变量值&输出变量值
输出变量值,此参数在httprunner2.2版本的时候被 export 代替,跨文件传递参数的功能在httprunner2.2之后不生效。在下图中用例层 引用 用例层的接口,可以通过extract 关键字提取上图中跨文件传输的变量 - token,书写格式一样:关键字下:- 变量。下图中 export 关键字下的 - token,可以输出变量值,也可以进行跨文件传输。举例:用例层 引用 用例层,可通过 export 进行跨文件传输。输出变量值,且可以跨文件传递变量值(推荐使用)原创 2024-08-14 09:55:23 · 246 阅读 · 0 评论 -
HttpRunner(10):环境变量
Httprunner通过在项目根目录下新增 .env 文件进行环境变量配置,其作用是存放一些httprunner接口测试脚本中的一些固定配置项(如:主机地址、端口等)。2、在测试用例需要使用的部分,使用ENV()方法进行调用。根据上例写法如下:${ENV(BASE_URL)};1、在项目的根目录下新增 .env文件,输入格式为 变量名=变量值。原创 2024-08-14 09:55:06 · 284 阅读 · 0 评论 -
HttpRunner(9):常用断言
len_ge、length_greater_than_or_equals、count_ge、count_greater_than_or_equals实际结果的长度大于等于期望结果。len_le、length_less_than_or_equals、count_le count_less_than_or_equals实际结果的长度小于等于期望结果。len_gt、length_greater_than、count_gt、count_greater_than 判断实际结果的长度大于和期望结果。原创 2024-08-14 09:54:51 · 471 阅读 · 0 评论 -
HttpRunner(8):接口关联
第一个test接口获取token,并提取出存储到变量中,在第二个test接口中直接调用该变量,如下图。access_token: $token # 引用上面的token实现关联。- eq: [$name,"星标组"]name: 获取用户所有标签。name: 获取token。name: 微信接口。原创 2024-08-14 09:54:34 · 294 阅读 · 0 评论 -
HttpRunner(7):获取响应数据&extract提取值到变量
通过 extract 提取响应正文的数据并存储到变量中(提取json数据),格式以content为根节点:content.key.key.key;headers: # 如果断言为中文的话,加上headers的Accept-Language即可。- header_Content: headers.Content-Type # 响应头部。- eq: [$code,200] # 引用变量 $变量名。- eq: [$title,"百度一下,你就知道"]# 获取响应数据: 响应行(200,ok)\响应头。原创 2024-08-14 09:54:18 · 345 阅读 · 0 评论 -
HttpRunner(6):模拟发送POST请求
发送POST请求可通过发送的数据选择 json/data/body/ 添加数据。{"tag":{"name":"河南abc"}}name: 用户标签管理。name: 创建用户标签。# 发送POST请求。原创 2024-08-14 09:54:02 · 278 阅读 · 0 评论 -
HttpRunner(5):模拟请求中带有 headers 的接口
可通过headers 添加头部信息,如下图。name: 发送百度接口的头部信息。# 发送请求头headers的接口。name: 百度接口用例。原创 2024-08-14 09:53:41 · 243 阅读 · 0 评论 -
HttpRunner(4):模拟发送GET请求&自动生成测试报告
name: "微信接口" # 可以没有引号,或者用单引号,双引号 都可以,注意格式要都保持一致。base_url: https://www.baidu.com # 主机地址。name: 接口名称 百度接口 # 测试步骤名称。name: 测试百度网站 # 测试用例名称。method: GET # 请求类型。url: / # 请求地址。params: # 参数。request: # 请求。- config: # 配置信息。- test: # 测试步骤。原创 2024-08-13 10:58:40 · 537 阅读 · 0 评论 -
HttpRunner(3):环境安装
pycharm下载步骤:File——Settings——Python Interpreter——点击加号——输入httprunner进行匹配——选择版本号2.5.7——点击Install Package;4、在pycharm中点击下方的Terminal,输入命令httprunner yml测试脚本路径执行。1、打开pycharm,新建项目,项目名自定义(注:利用pycharm编辑yml文件)3、在testcases文件夹下新建并编辑好.yml后缀的测试场景文件。2、在项目下新建testcases文件夹。原创 2024-08-13 10:58:03 · 592 阅读 · 0 评论 -
HttpRunner(2):YAML文件简介
在自动化测试框架中,常应用于自动化测试过程,用来进行数据驱动的数据存储载体,如典型的httprunner。根据下面纯量的例子,由上往下,纯量包含:字符串 整数 浮点数 布尔值 Null(用~表示) 时间 日期。对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)使用冒号(:)表示键值对(冒号后面要多个空格用来区分),同一缩进的所有键值对属于一个map。数组:一组按次序排列的值,又称为序列(sequence)/ 列表(list)使用"#"来表示注释。原创 2024-08-13 10:57:32 · 362 阅读 · 0 评论 -
HttpRunner(1):HttpRunner介绍
2、Python 版本:HttpRunner 支持Python 3.4 及以上的所有版本,并使用Travis-CI 进行了持续集成测试,测试覆盖的版本包括2.7/3.4/3.5/3.6/3.7。HttpRunner 是一款面向HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。作者李隆之前是大疆的测试开发工程师,项目起源于大疆内部的测试需求,之后转为开源项目。支持完善的测试用例分层机制,充分实现测试用例的复用。原创 2024-08-13 10:56:58 · 467 阅读 · 0 评论
分享