接口自动化的结果校验分两个层次:协议层,业务层

(本篇仅对协议层校验做扩展,仅考虑返回结果为json格式的接口)

协议层校验即对返回结果的key是否存在,value类型是否与协议一致进行判断

class CheckResp():def check_keys(self,target,template,except_key=""):if isinstance(target,(str,unicode)):target = json.loads(target)if isinstance(template,(str,unicode)):template = json.loads(template)for key,value in template.items():if not target.has_key(key) and key not in except_key:   # 校验断言json的key在返回结果中的是否存在raise Exception("key:%s not in the response" % key)elif target.has_key(key) and type(value) != type(target[key]):  # 校验返回结果的value类型与断言json的value类型一致raise Exception("the value's type of key:%s not match the assert json" % key)if isinstance(value,dict):  # 多重嵌套的字典类型递归校验判断self.check_keys(target[key],value)

在robot framework中的应用:

  1. 引用代码库
  2. 在接口调用请求后,获取返回结果,赋值给${resp}
  3. 接口返回结果协议层校验关键字使用:Check Keys    ${resp}    {"a":1,"b":{"c":"d"}}

转载于:https://www.cnblogs.com/hito/p/11050170.html

rf接口自动化之结果校验相关推荐

  1. 太全面了!RF接口自动化框架项目实战

    以码同学VIP课程中的微服务项目进行接口自动化实战 01 搭建项目结构 创建一个项目,名字自己起,课上叫微服务项目接口测试框架,初始项目结构如下,不要着急对着图去创建,看下方解释再创建 配置:这是一个 ...

  2. 接口自动化之操作mysql数据库

    接口自动化之操作mysql数据库 在接口自动化测试过程中并不像UI自动化测试一样存在界面可以通过界面数据校验正确性,除了可以通过接口返回的数据校验还可以通过操作数据库校验数据,那么我们该如何做接口自动 ...

  3. 【实战】RobotFramework接口自动化-全局变量解决保持登录问题

    Robotframework是一个利用关键字驱动实现自动化的框架,可以同时实现web.app.接口自动化测试.RF的使用类似于运行一个表格,测试人员往表格内填充文本,即可轻松实现自动化测试. 本文的目 ...

  4. 浅谈python+requests实现接口自动化

    前言 今年2月调去支持项目接口测试,测试过程中使用过postman.jmeter工具,基本能满足使用,但是部分情况下使用较为麻烦. 比如:部分字段存在唯一性校验或字段间有业务性校验,每次请求均需手工修 ...

  5. python api开发用什么框架_python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  6. 后端接口重定向_接口自动化面试题,建议收藏!

    1.get和post的区别? l http是上层请求协议,主要定义了服务端和客户端的交互规格,底层都是tcp/ip协议 l Get会把参数附在url之后,用?分割,&连接不同参数,Get获取资 ...

  7. java接口自动化Excel占位符_基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架...

    接口自动化框架 项目说明 本框架是一套基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport而设计的数据驱动接口自动化测试框架,TestNG ...

  8. python做接口自动化测试仪器经销商_Python接口自动化测试的实现

    接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当 ...

  9. 编写jmeter测试用例_Jmeter | 实现接口自动化设计说明

    一.变量定义规则 1.全局变量:各个项目组负责人负责统一规划本项目的全局变量.用"配置元件"中的[用户定义变量]来设置,并置顶在所有线程组的最前方: 2.HTTP消息头:各个项目组 ...

  10. 录制完脚本怎么做接口自动化测试_快速构建轻量级接口自动化框架

    随着移动互联网和微服务的迅速发展,大部分企业都采用接口的方式实现客户端和服务端的交互,传统的PC端也逐渐趋向于前后端分离架构.为了应对此种架构下的业务迭代,很多QA团队开始推广接口自动化,甚至是自研接 ...

最新文章

  1. SAP IQ09 可以批量查询序列号数据
  2. 查看tcp各个连接状态的数量
  3. 韶音耳机连不上电脑_运动耳机什么牌子音质好,运动耳机品牌排行榜
  4. 无插件HTML,HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)分享!
  5. suse linux 11如何分区,新手发帖,关于SUSE11挂载磁盘阵列并分区的问题
  6. 美橙互联域名与其他地方的区别
  7. updatedb命令
  8. 货币转换python代码_[Python3 练习] 003 货币转换
  9. 计算机科学创新大赛,“互联网+”大学生创新创业大赛
  10. matlab中欠定方程组超定方程组_大规模线性方程组解法简介
  11. 学习网站及工具地址汇总
  12. 为PXI硬件选择合适的设备驱动程序–VISA还是IVI?
  13. Android学习笔记(十):jsonArray转array
  14. EPC 的RFID 标准体系
  15. 弧齿锥齿轮零件图_弧齿锥齿轮画法类别
  16. nginx根据项目名实现内网地址转发
  17. vue项目怎么样去实现新窗口跳转_vue跳转方式(打开新页面)及传参操作示例
  18. pycharm 字体颜色更改
  19. 这应该是我见过最好的机房监控解决方案了!
  20. VPO微珀宣布完成千万人民币Pre-A融资,专注电子烟场景化消费市场

热门文章

  1. 【openGauss】gsql客户端工具(二)gsql客户端工具之Data Studio客户端工具
  2. Java生成32位全局唯一id
  3. 项目管理——N个模板
  4. java发微信字体颜色,微信公众号 模板消息 字体颜色 错位?
  5. 获取Adobe Flash 及Reader安装包
  6. IAR教程之IAR安装
  7. ArcMap怎么导出shape文件到奥维互动地图
  8. Python入门:使用turtle库 绘制时钟(经典画表)
  9. 3dmax2020渲染器下载3dmax2020渲染器VRay4.2下载安装教程
  10. 数学建模优化模型简单例题_10次数学建模积累下的经验,希望能对你有所帮助!...