参数化是什么

参数化想必做过接口测试的各位小伙伴都不陌生,参数化是对一个接口进行多次重复类似的操作,通过将响应数据与接口API对比即可。

断言是什么

手动测试时,我们通过肉眼去确认程序的实际操作后呈现的结果与我们用例中的预期结果是否匹配,比如登录,输入账号密码后需要去用肉眼去查看是否登入了系统,页面是否正常跳转等,这都是用肉眼去检查程序的实际操作后呈现的结果与我们用例中的预期结果是否匹配的过程。

在自动化测试或者接口参数化测试中,我们用什么来判断实际结果与预期结果是否一致的呢?这个时候就需要用到测试工具提供相应的功能来检查实际结果与预期结果是否匹配,这个检查过程是需要我们写在代码中的,这个检查过程就是断言。断言的英文是assertion,断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者某一组程序变量在程序执行期间的某个点上必须满足的条件。通俗的说就是判断程序在某个时间点需要达到的某种状态。

postman的断言必须写在test(后置脚本)中

常用的四种断言

Status code: Code is 200

判断状态码是否正确;默认是200,可修改。

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});

Response time is less than 200ms

判断相应时间是否超时;默认是200ms(毫秒),可修改。

pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});

response body:Is equal to a string

判断响应结果中的字符串与预期结果的字符串是否匹配。

pm.test("Body is correct", function () {pm.response.to.have.body("response_body_string");
});

Response body: Contains string

判断响应结果的字符串与该字符串的值是否相匹配。

pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

接口参数化怎么做

1.创建数据文件,支持的数据格式文件为txt,dat,csv和JSON等,这里我们以txt为例子。

创建一个名为date.txt的txt文件,文档的第一行是自己设置的变量名,方便在postman中调用,每一行是一组数据,也表示一次迭代,每行如果有多个数据用英文状态下的逗号分隔开。(最后保存一定要保存为utf-8格式)

2.postman中在需要参数化的接口中将自己需要的请求值替换为设置好的变量:请求参数中用{{变量名}}替换,注意这里的变量名和文档中你设置的变量名需要一致

3.选中集合Collection->点击Run->然后选择需要批量运行的接口,从文件选择区加载数据文件,通过点击Data File Type选择文件类型,点击Preview来预览数据,设置对应迭代次数,每次迭代都将使用你的数据文件中的一行,如果迭代次数超过数据文件中的行数,将重复执行最后一行,然后点击运行就可以得到结果。

在参数化中为什么写断言?

在参数化中为了验证每组数据得到的结果需要在postman后置脚本(test)中写断言。

在参数化中怎么确保断言全部都是对的呢?

1.在写好的参数化txt文本中加入一行参数,这里我们以断言Response body: Contains string(判断响应结果的字符串与该字符串的值是否相匹配为例子,添加的格式跟之前一样

2.在postman中的后置脚本(test)中将自己需要的值替换为设置好的变量:替换变量的方法是data.变量名或者data[变量名]

3.运行方式与参数化一样,查看结果(因为我故意设错了一个,所以一个是报错)

总结:以上就是什么是参数化,什么是断言,以及在参数化中为什么做断言,怎么做断言,怎么确保断言的正确性。

参数化,断言,参数化时为什么做断言,怎么做断言,如何确保断言的正确相关推荐

  1. 【单元测试】pytest:配置|断言|参数化|夹具|装饰器|插件

    [单元测试]pytest 入门案例 pytest配置文件 断言 参数化 夹具 模块级 类级 方法级 函数级 fixture装饰器 插件 unittest:python自带的单元测试框架,兼容性好 py ...

  2. python 正则表达式 断言 不定长表达式_MyEssay 之 Python正则表达式 —— 四种断言扩展的理解...

    我们经常用正则表达式来检测一个字符串中包含某个子串,要表示一个字符串中不包含单个的某字符或某些字符也很容易,用[^...]形式就可以了.但是要表示一个字符串中不包含某个子串(由字符序列构成)的时候,用 ...

  3. R语言计算回归模型每个样本(观察、observation、sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化

    R语言计算回归模型每个样本(观察.observation.sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化 目录

  4. (科普帖)电梯突然断电下坠时、一定要这么做

    现在人们居住的楼层越来越高,电梯就会成为生活的一部分.为了以防万一希望大家多看看本帖,不要叫它沉了! 有一天搭乘电梯,就遇上了电梯突然断电,虽然紧急供电系统几秒后就 开始作用,可是电梯还是从 13 楼 ...

  5. 2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...

    Previous: elasticsearch外用与内观(一)-常用功能与使用方法 在了解了es的基本用法之后,我们再来看看当插入文档数据时,elasticsearch都在做什么. 首先,es的索引只 ...

  6. 等待队列中为什么需要互斥锁?一个线程在等待时被唤醒后会做什么?安全队列的代码实现

    多线程2 同步 作用 条件变量及其接口 初始化 静态初始化 动态初始化 等待接口 唤醒接口 销毁接口 代码实现 参数为什么需要互斥锁 在调用该接口时,pthread_cond_wait函数的实现逻辑是 ...

  7. 面试产品经理时如何回答“为什么想做产品经理”这个问题

    面试时很多问题是相通的: 为什么想做产品经理=为什么你适合做产品经理=你做产品经理的优势是什么 当问出"为什么想做产品经理/为什么转行做产品经理"时,面试官的动机,是想知道:我为什 ...

  8. 多暂估的库存如何调整_冲暂估时多冲了如何做调整?

    冲暂估时多冲了如何做调整? 1.正常进货,当月认证当月抵扣发票,做购进, 借:库存商品 应缴税费--增值税(进项税额) 贷:应付账款 2.购进的数量金额都大于销售出的,是不正常的,长期下去你的货物没地 ...

  9. 荐书《遗留系统:重建实战》:当你面对一坨代码时,你应该这么做

    大多数开发人员的主要时间都是花费在与现有的软件打交道上,而不是编写全新的应用程序. 这就意味着,我经常要遇到很多我写的 shit 一样的代码,你经常要遇到很多你写的 shit 一样的代码.不对,别人要 ...

最新文章

  1. 参考文献必备神器:这个插件能快速知道收藏的论文是否靠谱
  2. 黑火药跟黄火药的区别在哪里?
  3. 只要用心就可以看见 十个幸福瞬间照片
  4. 详解Java8中流(Stream)的使用
  5. HDU - 2196 Computer(树形dp)
  6. linux查看时间同步服务,Linux系统时钟同步服务NTPD配置方法
  7. 866. 试除法判定质数
  8. 我的世界java刷怪数量_Minecraft我的世界Java版18w16a更新发布
  9. 2017提高组D1T1 洛谷P3951 小凯的疑惑
  10. 五分钟搭建 Flash 视频直播站
  11. Excel根据公式生成插入语句
  12. 商业方向的大数据专业_大数据行业5个职位方向
  13. 分享:一个轻量级的企业Wiki和团队知识分享平台CMS
  14. Python爆破ZIP文件(支持纯数字数字+字母密码本)
  15. jupyter notebook的自动补全
  16. 2.0 Mesh Beacon帧格式
  17. centos7安装activemq以及无法访问前台页面
  18. 使用python opencv批量对贴图进行除透明边并压缩
  19. 纸牌游戏十点半c语言,纸牌游戏十点半之Excel版
  20. Away3D学习笔记1 - 戏说Flash 三维引擎

热门文章

  1. 李嘉诚--理财--如何支配你的金钱
  2. 微信支付,“签名错误,请检查后再试” 的坑爹经历
  3. 【经验分享】在WORD或Wps软件下,文档目录显示{TOC\o“1-3“} 的问题处理
  4. 考虑碳交易机制的园区综合能源系统电热协同运行优化研究(Matlab代码实现)
  5. vw8000_汽车电子国际测试标准iso16750和VW8000
  6. PHP isset()和empty()的区别
  7. 盒子模型的通俗化理解
  8. python微控制器编程从零开始 开发板_Python微控制器编程从零开始 使用MicroPython 文轩网正版图书...
  9. 大连理工大学计算机科学与技术考研科目,2020年大连理工大学计算机科学与技术考研都考哪些科目,尤其-培训家...
  10. 平面设计的表现手法有哪些比较常用