HttpRunner 参数化数据驱动
HttpRunner 2.0 参数化数据驱动案例,废话不说,直接上干货。
1、测试用例目录结构
api:接口集
testcases:测试用例
testsuites:测试套件
data:测试数据
2、api 接口集
create1.yaml:
name: 创建外方
variables:
- customerName: 姓名
- customerGender: male
- customerBirth: 1998-09-09T00:00:00+0800
- resName: 姓名
request:
method: POST
url: $url/out_visits
headers:
Accept: application/json;charset=UTF-8
Content-Type: application/json
json:
customerName: $customerName
customerGender: $customerGender
customerBirth: $customerBirth
resName: $resName
params:
extract:
- visitId: content.responseBody.id
validate:
- eq:
- status_code
- 200
- eq:
- content.status
- $status
- eq:
- content.responseBody.resName
- $resName
- eq:
- content.responseBody.customerBirth
- $customerBirth
为了演示执行2个接口,在创建一个create2.yaml文件,代码与create1.yaml内容一样
3、testcases 测试用例
testcases_1.yaml:
- config:
name: "创建外方1"
id: 创建外方1 - test:
name: 创建外方1_$msg
api: api/create1.yaml
testcases_2.yaml:
- config:
name: "创建外方2"
id: 创建外方2 - test:
name: 创建外方2_$msg
api: api/create2.yaml
4、testsuites 测试套件
testsuites_1.yaml:
config:
name: "单接口测试testsuites"
testcases:
create1:
testcase: testcases/testcases_1.yaml
parameters:
resName-status-customerBirth-msg: ${P(data/account1.csv)}
create2:
testcase: testcases/testcases_2.yaml
parameters:
resName-status-customerBirth-msg: ${P(data/account2.csv)}
5、data 测试数据
account1.csv:
resName,customerGender,status,customerBirth,msg
xingming,male,SUCCESS,1998-09-09T00:00:00+0800,create1_resName为字母
姓名,male,SUCCESS,1998-09-09T00:00:00+0800,create1_resName为汉字
姓名3,male,ERROR,1998-09-08T00:00:200+0800,create1_customerBirth日期格式不正确失败
account2.csv:
resName,customerGender,status,customerBirth,msg
xingming,male,SUCCESS,1998-09-09T00:00:00+0800,create2_resName为字母
姓名,male,SUCCESS,1998-09-09T00:00:00+0800,create2_resName为汉字
姓名,male,ERROR,1998-09-08T00:00:200+0800,create2_customerBirth日期格式不正确失败
6、运行
# 执行用例
httprunner --dot-env-path dev.env testsuites/testsuite_1.yaml
参考:https://cn.httprunner.org/advanced/parameters/
HttpRunner 参数化数据驱动的更多相关文章
- jmeter进行接口测试--csv参数化,数据驱动-转
首先我们要有一个接口测试用例存放的地方,我们这里用EXCEL模板管理,里面包含用例编号.入参.优先级.请求方式.url等等. 1:新建一个txt文件,命名为sjqd,后缀名改为csv,右键excel格 ...
- HttpRunner学习6--使用parameters参数化
前言 在使用HttpRunner测试过程中,我们可能会遇到这种场景: 账号登录功能,需要输入用户名和密码,设计测试用例后有 N 种组合情况 如果测试组合比较少,比如只有2个,那我们直接在YAML脚本中 ...
- 接口自动化测试之httprunner初探
❝ 今天来介绍一个python的一个开源项目:httprunner,接口自动化工具.第一次输入,难免有不周到的地方,轻喷~ ❞ 介绍: HttpRunner是一个简单优雅但功能强大的 HTTP(S) ...
- HttpRunner_参数化进阶
一.获取返回包数据 在提取参数时,当 HTTP 的请求响应结果为 JSON 格式,则可以采用.运算符的方式,逐级往下获取到参数值:响应结果的整体内容引用方式为 content 或者 body,如上 ...
- 4.httprunner-参数化和数据驱动
前言 参数化在config中使用parameters关键字 httprunner2.x 是在testsuite中实现参数化 httprunner3.x 是在testcase中的config实现参数化 ...
- 行为驱动:Cucumber + Selenium + Java(四) - 实现测试用例的参数化
在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的使用Tags对测试用例分组的实现方法,这一篇我们用数据表格来实现测试用例参数化. 4.1 什么是用例参数化 实际测试中 ...
- 行为驱动:Cucumber + Java - 实现数据的参数化
1.什么是参数化 实际设计测试用例过程中,我们经常会用等价类.边界值这样的方法,针对一个功能进行测试数据上的测试,比如一个输入框,正向数据.逆向数据,非法输入等等 2.Cucumber的数据驱动 同上 ...
- [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖
原文地址: https://testerhome.com/topics/17646 相逢即是缘分,总有一篇适合您! 感觉好的请点赞收藏 ,感觉分类不严谨的,欢迎反馈给我! 测试方法&测试管理 ...
- httprunner2.0 概述及使用说明
一.概述 HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 二.系统流程 ...
随机推荐
- 用Linux中man命令查询C函数
大家都知道在Unix/Linux中有个man命令,可以查询常用的命令,函数.可是对于我们这样只知道用"man 函数名"来查询的人来说,会遇到很多问题,比如: man read,我想 ...
- 利用table-cell实现元素居中对齐
vertical-align对一些特定显示样式(例如单元格显示方式:table-cell)的元素才会起作用.所以要实现上下垂直居中对齐,可以采用如下样式 display:table-cell; ...
- 如何让jquery-easyui的combobox像select那样不可编辑
http://zhidao.baidu.com/link?url=td61iIn_MBCs1FvT7b-B9Lp9VzlyrcnGmSbkCy1EsSzuod5o47zTmJFRQ-xizxdqv1E ...
- 10 部署应用程序和applet
跳过 09 Swing用户界面组件 JAR文件 在将应用程序进行打包时, 使用者一定希望仅提供给其一个单独的文件, 而不是一个含有大量类文件的目录, Java归档(JAR)文件就是为此目的而设计的. ...
- 数论 - SGU 105 DIV3
SGU 105-DIV 3 Problem's Link Mean: 定义这样一种数列:1,12,123.. 给出一个n,求这个数列中能被3整除的数的个数. analyse: 这道题可以用分析的方法解 ...
- 第二百六十八节,Tornado框架-路由映射之二级域名支持,html模板继承以及导入
Tornado框架-路由映射之二级域名支持,html模板继承以及导入 二级域名路由映射add_handlers()设置二级域名路由映射 注意:二级域名需要结合服务器ip绑定域名 框架引擎 #!/usr ...
- web 开发之nginx--- 阿里云部署nginx
http://blog.csdn.net/zhangjingyangguang/article/details/7441268 http://www.cnblogs.com/languoliang/a ...
- systemd新的系统管理方案
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html http://www.ruanyifeng.com/blog ...
- 打开cmd闪退
我们在使用电脑过程中一般会很少用到cmd命令,CMD命令窗口在一些特殊情况时我们会用到,如PING下看网络通不通.在CMD窗口里运行命令如磁盘格式转换,但是有些朋友遇到了这样的问题,在开始运行输入CM ...
- JSP小例子——以Model1的思想实现用户登录小例子(不涉及DB操作)
Model1简介现在比较流行的就是Model1和Model2,这里介绍Model1.在Model1模型出现前,整个Web应用的情况是:几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理 ...