最近做的接口自动化,遇到了很多模块的接口,返回的断言不太相同,在放在unnitest单元测试框架+ddt数据驱动,做参数时,发现不能只通过一个方式进行断言,那么,要怎么做才能做到适配当前所有接口的断言呢?

先举个例子,大部分接口返回的内容,都是json格式,都可以通过相应的key值,进行取值

1. 登录接口,登录成功,会返回一个code

{

  "code":0,

  "msg": "登录成功”

}

2.第二个,新增一样商品的接口的返回报文:

{

  "errcode":0,

  "msg": "新增成功”

  .省略其他内容......

}

可以通过例子,看到这两个对于成功,返回的key值,已经不同了

断言方式:

1. 第一种,对于返回报文简单的,可以采取完全断言

2. 第二种,对于接口返回的内容负责,只能抽取关键的进行断言

实际情况:

目前做的接口,就存在两个情况,要同时兼容这两种情况,进行断言检验

目前的实施方案:

1. 用例数据采用excel进行管理,会有一列校验类型来做区分,分别传入0或具体的key值来做判断,是做完全断言还是取其中的来做断言

2. 对于部分断言,采用的是和jsonpath结合来做,和xpath类似,比较简单易用,比如要取登录成功的code的jsonpath,可以写成是$..code,jsonpath的详细用法,可参考百度。

推荐一篇文件,关于断言:http://testingpai.com/article/1595507145193

总结:

有想法是件好事,没想法,完全下不了手,不妨,多些想法,实现适用的方法。

最新文章

  1. 【原创】C#模拟Post请求,正文为json数据的代码参考
  2. 兼容性js中setTimeout 传参“保值”方案
  3. 【翻译三】java-并发之线程对象和实现
  4. 新一波makefile
  5. WCF服务部署到IIS7.5
  6. Java基础-内部类-为什么成员内部类可以无条件访问外部类
  7. 【面试题】Google of Greater China Test for New Grads of 2014总结
  8. 测试ODBC与OLE
  9. #Leet Code# Unique Tree
  10. 10招搞定web设计风格指南
  11. 【转】多核CPU运行模式
  12. hash_map和map的区别
  13. Linux改动文件权限记录
  14. 一个int类型引发的bug
  15. ML学习分享系列(2)_计算广告小窥[中]
  16. ASP.NET Core 一步步搭建个人网站(5)_Api模拟和网站分析
  17. 解决python logging重复写日志问题
  18. 201771010134杨其菊《面向对象程序设计(java)》第十五周学习
  19. DSP 知识点
  20. windows10安装

热门文章

  1. 【Linux】【Services】【KVM】安装与简单配置
  2. 【Linux】【Services】【DNS】bind基础
  3. Non-terminating decimal expansion; no exact representable decimal result.
  4. 最基础的SSM框架整合篇
  5. angular过滤器在html和js中的使用
  6. 【Linux】【CentOS7】免密登录突然失效
  7. 【Spark】【RDD】从本地文件系统创建RDD
  8. 如何在子线程中更新UI
  9. cmd窗口连接mongodb服务端
  10. Spring Cloud Alibaba微服务架构入门最容易理解篇