httprunner-潜水1
HttpRunner 主要包含下列特征:
继承 Requests 库的全部特性,轻松实现 HTTP(S) 的各种测试需求
以 YAML 和 JSON 定义测试用例,通过 pytest 去运行
基于 HAR 文件,实现接口的录制及用例的生成功能
支持 variables、extract、validate、hook 等关键字,可以创建复杂的测试场景
借助辅助插件 debugtalk.py,在测试脚本中轻松实现复杂的动态计算逻辑
集成 jmespath,方便提取变量、验证 JSON 响应
集成 pytest,支持大量的插件
集成 allure 生成强大的测试报告
集成 locust,非常方便做性能测试
执行方式采用 CLI 调用形式,可以和 Jenkins 等持续集成工具完美结合
config模块
name 本用例集名称
request 请求全局变量,包括base_url(公共host)、headers等
base_url 全局公共host,也可以不定义,用例中写全url即可
以上全局配置,除了name,其他都是非必要的,根据需要添加。
【字段说明】
test 模块
name 本条测试用例的名字
request 请求体
url 请求的路径,由于全局变量已经定义好host,这里就直接填写后面的路由即可
method 请求方式
params 请求参数
validate 断言
extract 参数传递
【使用场景1--》fiddler 】
通过抓包请求导出 har格式
如图1:
如图2:导出为test.har 格式
如图3:将har 转换为python代码
如图4:执行python代码,有两种方式 hrun sobot_test.py 或 pytest sobot_test.py【因为pytest 已被封装在httprunner中,所有可直接使用】
【说明:1failed 是因为 接口 相关参数失效,可忽略】
【使用场景2--》将test.har转换为yaml 或json格式用于测试用例的维护,但是不建议这样操作,以pytest 整合测试用例更为直观 】
如图1:
如图2: