httprunner踩坑

1、get接口参数使用params传入,例如:

name: get_stroy_content
base_url: http://xxx.xxx.xx.xx:xxxx
variables:expected_status_code: 200  expected_msg: "request successfully"
request:url: /favorite/getStoryContentmethod: GETparams: id: 15634startDate: "2018-01-01"endDate: "2019-09-01"keyword: ""start: 1step: 10headers:Content-Type: "application/json"
validate:- eq: ["status_code", $expected_status_code]- eq: ["content.msg",$expected_msg]

2、post参数使用json传入,例如:

name: update_favorite
base_url:  http://xxx.xxx.xx.xx:xxxx
variables:expected_status_code: 200  expected_msg: "request successfully"
request:url: /favorite/updateFavoritemethod: POSTjson: id: 15633name: "看见"headers:Content-Type: "application/json"
validate:- eq: ["status_code", $expected_status_code]- eq: ["content.msg",$expected_msg]

3、运行api文件下所有的接口描述

  • 运行单个yml文件 hrun + test1.yml
  • 运行是所有yml文件 hrun + api(yml文件的上层目录,这是相对路径)
  • 运行testcases下单个yml文件 hrun + testcases\testcase2.yml
  • 运行testcases下所有的yml文件 hrun + testcases (yml文件的上层目录,这是相对路径)

4、testcase中前后关联的接口用例,参数的调用(后一个接口需要前一个接口的返回值作为参数)

  • 实例testcase_save_favorite.yml:
config:name: "save/update favorite testcase"variables:expected_stauts_code: 200base_url:  http://xxx.xxx.xx.xx:xxxxverify: Falseoutput:- favoriteIdteststeps:
-name: check add favorite(*保存收藏夹)api: api/add_save_favorite.ymlextract:- favoriteId: content.data.favoriteId
-name: remove favorite(清除保存的收藏夹)api: api/remove_favorite.ymlvariables:id: ${switch_int($favoriteId)}
  • api–> remove_favorite.yml
name: remove_favorite
base_url:  http://xxx.xxx.xx.xx:xxxx
variables:expected_status_code: 200  expected_msg: "request successfully.删除成功"id: 15798
request:url: /favorite/removeFavoritemethod: POSTjson: id: $idheaders:Content-Type: "application/json"
validate:- eq: ["status_code", $expected_status_code]- eq: ["content.msg",$expected_msg]

注意:extract用于提取接口返回值中的参数,variables用于替换api中的参数(其中api中的json或params的参数需要用variables声明在config中才能被替换),testcase_save_favorite.yml文件variables的id(key)与remove_favorite.yml文件variables的id(key)需要一致。

5、对于api(接口定义)、testcase、testsuites的理解

  • api(接口定义)单个用例httprunner的最下单元,可以包含一个接口的url、params、method等,可以单独运行
  • testcase 多个用例组合、复杂场景、需要steup_hooks or tesrdown_hooks的用例,可以引用api进行拼装组合
  • testsuites 用例集合概念(方便大量用例执行),可以引用testcase,参数化概念(2.0后仅能通过testsuites进行参数化)
  • 注意:teststep仅是testcase中的步骤而已@TOC

另外httprunner的csv方式参数化貌似有问题,找不到参数 。

httprunner踩坑之路相关推荐

  1. mybatis mapper.xml dtd_全栈开发踩坑之路4-用MyBatis实现服务

    1.前言 上一篇文章介绍了如何设计后端的Mysql数据库:Alex Wang:全栈开发踩坑之路3-MySql数据库设计,本文介绍如何用MyBatis实现后端服务. 本后端项目的Github地址(撰写中 ...

  2. jmeter 3版本到5版本踩坑之路

    jmeter 3-5版本升级踩坑路 新版本下载安装 踩坑之路 新版本下载安装 下载新版本软件 ,链接: https://jmeter.apache.org/download_jmeter.cgi: 配 ...

  3. 微信小程序实现大转盘抽奖----踩坑之路

    微信小程序实现大转盘抽奖----踩坑之路 需求:现在有一个小程序抽奖页面如下,此类抽奖方式为大转盘 思路:由服务端获取抽奖次数和奖品,根据服务端的中奖概率来决定是否中奖,最后利用小程序动画将转盘转起来 ...

  4. contentprovider踩坑之路之Failed to find provider info for com.example.app.provider和cursor=null空指针问题

    目录 bug1.Failed to find provider info for com.example.app.provider bug2:cursor=null bug1.Failed to fi ...

  5. 2021-11-01 富文本编辑器Vue-Quill-Editor 踩坑之路

    Vue-Quill-Editor 基于 Quill.适用于 Vue 的富文本编辑器,支持服务端渲染和单页应用. 相对于ssr,spa是通过component进行工作 ssr和spa的区别 1 踩坑之路 ...

  6. [Java灵信LED] -- 踩坑之路

    灵信led -T8 控制板卡 --踩坑之路 下载lv_led.dll 动态库链接 https://pan.baidu.com/s/11ZO-M6kllsq2AyhVW4AKoA 提取码:unsb 提取 ...

  7. webpack踩坑之路 (2)——图片的路径与打包

    webpack踩坑之路 (2)--图片的路径与打包 刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里(bundle).下面我 ...

  8. 基于dx11的动作游戏踩坑之路--1

    基于dx11的动作游戏踩坑之路--1 首先要声明所有的博客都是学习博客,不是技术博,只是用来记录.整理自己的学习路线,以及日后可以回顾一下.本人也只是一个小菜鸡,可能会有很多错误与纰漏,有大佬愿意指出 ...

  9. 公司自建电商系统对接Ariba PunchOut ----踩坑之路

    Ariba Network是ariba公司开发的供应商采购平台.punchout功能对接数据传输基于cxml. 主要是实现接口登录.购物车信息返回到airba系统,以及等订单功能. 开发手册中有相应的 ...

最新文章

  1. 深入理解 x86/x64 的中断体系--IVT VS IDT
  2. 南工计算机调剂,南京工业大学2021年硕士研究生调剂公告
  3. js Date.parse()兼容性问题
  4. 墨菲的鬼魂重现 / 金蝶ERP 资安大漏洞 (非授权补丁自动下载安装)
  5. java B2B2C Springcloud电子商务平台源码-服务网关过滤器
  6. 模拟栈 java_Java 模拟栈结构
  7. PySide 简易教程三-------动手写起来
  8. 一个女程序员征男友的需求说明书
  9. [js] 在不支持js的浏览器中如何隐藏JavaScript代码?
  10. USACO 06JAN 牛的舞会 洛谷2863
  11. MongoDB的Java驱动使用整理 (转)
  12. matlab函数冒号代表的意思,MATLAB中冒号运算符的含义
  13. fastjson.toJSONString字段排序
  14. 深度学习之Image captioning的评分指标篇(BLEU、CIDEr)
  15. 微型计算机主要安装的部件是,微型计算机主板上安装的主要部件
  16. Unity3d发布webplayer 部署到IIS
  17. 【Linux】Linux系统学习
  18. div两侧的boder断开 消失 奇怪
  19. 元宵节动画贺卡制作_2017鸡年元宵节flash电子贺卡模板下载-2017元宵节电子贺卡flash动画模板完整打包下载-东坡下载...
  20. php 邮件 延迟发送,PHP后台隔5分钟发送email邮件_php

热门文章

  1. 典型的多层神经网络模型,神经网络多传感器融合
  2. 解决win7打开网络看不到局域网的其他电脑/计算机
  3. php多张图片制作成视频教程,如何将多张图片转换成视频?快速制作电子相册的方法...
  4. 万字长文,带你入门异步编程
  5. linux生成license,License生成秘钥
  6. 无需Root 手机装电脑系统 虚拟机
  7. 各位观众老爷不如点进来随便评论几句QUQ
  8. 打破清晨喧嚣的 oom
  9. Android应用中保存网络图片功能实现详解
  10. 黑盒优化技术评测基准RABBO介绍