4.18-token验证
在postman编写的每一个叫测试用例,既然收测试用例,那么就会有结果对比
API测试断言tests(判断一个接口测试用例是否成功,或者说是通过,是根据断言的三个条件都成立的情况下得到的结果)
协议状态码
例:登录错误的状态码 返回响应数据只需要验证101
响应数据
业务状态码(是程序员根据自己的想法来定义的)
tests
(例如)
//定义一个变量来存放响应数据
var jsonData=JSON.parse(responseBody)
//查看返回的响应数据
console.log("查看响应数据\n",jsonData)
//验证协议状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
tests["验证username字段"]=jsonData.user.username=="无涯"
console.log(jsonData.user.usernamne)
//验证usermane字段
var abc={
"a":{
"aa":"aaa"
}
}
console.log(abc.a.aa)
例如:验证uid和telephone
reports explore
collections:集合,就收测试用例的套件,在这个容器里可以存放很多的测试用例,测试套件。
保存:
collections--》点击+修改名称点击save
在postman,调用变量的方式是:
{{变量名}}
动态参数在postman的解决思路(登录为例)
1、登录成功后,在登录接口的tests中定义一个变量来获取响应数据中的动态参数token
2、在下个接口(比如首页等等)中,调用定义的变量,调用的方式是{{变量名}}
3、那么这个过程,需要把登录接口和引用登录接口的变量的接口都需要添加到collection中,它的顺序是登录结论在前
4、然后执行collection,这样就能够实现动态参数的关联
例如:
动态参数/关联/上个接口的输出是下个接口的输出
练习总结:13484545195
登录
auth---》url---》body(copy--》payload--》preview--view source)选json---》》tests
tests:
1.var jsonData=JSON.parse(responseBody) 定义一个变量来存放响应数据
2.pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
}); 验证协议码状态
3.tests["验证username字段"]==jsonDate.user.username=="无涯" 验证XXX比如用户名
4.pm.environment.set("setToken", "jsonData.token"); 获取token
5.验证token
1)、pm.environment.set("getToken", jsonData.token);console 定义一个变量
2)、pm.environment.get("getToken"))获取token变量
3)、tests["验证token的值"]=jsonData.token==pm.environment.get("getToken") 获取验证token的值
首页
index==》url==》headers(authorization--JWT(getToken))
查看preview- api值为0
tests:
1.var jsonData=JSON.parse(responseBody) 定义一个变量来存放响应数据
2.pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
}); 验证协议码状态
3.tests["测试用例个数"]=jsonData.count.api="0"
添加
product==》url==》headers(authorization--JWT(getToken))
code=201
tests:
1.var jsonData=JSON.parse(responseBody) 定义一个变量来存放响应数据
2.pm.test("Status code is 201", function () {
pm.response.to.have.status(201);
});
3.pm.environment.set("productID", "jsonData.id");先设置变量环境
4.tests["验证productid"]=jsonData.id== 验证
5.pm.environment.get("productID");最后设置变量环境
删除
3026==》url==》headers(authorization--JWT(getToken))
code=204
tests:
pm.test("Status code is 204", function () {
pm.response.to.have.status(204);
}); 删除不用定义一个变量来存放响应数据 直接填验证协议状态码
修改
3033==》url==》headers(authorization--JWT(getToken))
code=200
tests:
1.pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
}); 修改不用定义一个变量来存放响应数据 直接填验证协议状态码
2.var jsonData=JSON.parse(responseBody) 定义一个变量来存放响应数据
3.tests["验证产品信息ID"]==jsonData.id== 验证产品ID
4.pm.environment.get("productID"); 获取环境变量
4.18-token验证的更多相关文章
- Token验证失败
Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...
- Web APIs 基于令牌TOKEN验证的实现
Web APIs 基于令牌TOKEN验证的实现 概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但 ...
- Token验证失败的解决方法
Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...
- Django restframework之Token验证的缺陷及jwt的简单使用
一.主要缺陷: 1.Token验证是放在一张表中,即authtoken_token中,key没有失效时间,永久有效,一旦泄露,后果不可想象,安全性极差. 2.不利于分布式部署或多个系统使用一套验证,a ...
- ASP.NET Web APIs 基于令牌TOKEN验证的实现(保存到DB的Token)
http://www.cnblogs.com/niuww/p/5639637.html 保存到DB的Token 基于.Net Framework 4.0 Web API开发(4):ASP.NET We ...
- 总想自己动动手系列·3·微信公众号和外网服务交互之通过TOKEN验证(准备篇·1)
一.准备工作 (1)准备一个微信公众号(对私的订阅号或者对公的服务号). (2)准备一台部署了web应用,并且已经发布出去的Linux服务器(需要说明的是:微信公众号强烈建议使用80端口,使用其他自定 ...
- NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)
背景 使用 NodeJS 进行微信公共号开发,首先需要响应微信发送的Token验证,官方文档 填写服务器配置 登录微信公共平台,在开发下的基本配置打开该页面. 依次填写接口的 URL.自定义的 Tok ...
- 你的服务器没有正确响应Token验证的解决方法
你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 原文: ...
- 微信公众平台消息接口开发(2)你的服务器没有正确响应Token验证的解决方法
你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 本系统 ...
- 服务器通过微信公众号Token验证测试的代码(Python版)
我在阿里云租了一个云服务器,然后想把这个作为我的微信公众号的后台,启用微信公众号开发者需要正确的响应微信服务器的Token验证,为此把这个验证的Python代码贴出来,只要在服务器上运行这段代码,注意 ...
随机推荐
- 简述 Mybatis 的插件运行原理,以及如何编写一个插件。
Mybatis 仅可以编写针对 ParameterHandler.ResultSetHandler. StatementHandler.Executor 这 4 种接口的插件,Mybatis 使用 J ...
- Linux的权限总结
一般权限和特殊权限可控制 文件所有者.所有组.其他人的读写执行权限, 而隐藏权限则可以进行补充权限,可限制 文件内容只能追加内容,不更新属性等信息 ACL则可以进行让某个用户或组或other拥有指定文 ...
- 学习Squid(一)
第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...
- 浅析CSS定位
position 属性指定了html元素的定位类型. position 属性有 4 种值:1. static(default)表示没有定位,元素出现在正常的文档流中.为静态定位的元素设置 top|bo ...
- CSS实例:翻转图片、滚动图片栏、打开大门
CSS 翻转图片主要用到的技术除了3D翻转和定位 ,还用到了一个属性 backface-visibility:visable|hidden;该属性主要是用来设定元素背面是否可见. 效果图如下: 具体的 ...
- 深入理解 flex-grow & flex-shrink & flex-basis
前言 flex 有三个属性值,分别是 flex-grow, flex-shrink, flex-basis,默认值是 0 1 auto. 发现网上详细介绍他们的文章比较少, 今天就详细说说他们,先一个 ...
- Vuet.js规则详解,它是你不知道的强大功能?
Vuet.js是什么? Vuet.js是给Vue.js提供状态管理的一个工具,与vuex不同,它是一种崇尚规则定制的状态管理模式.事先将状态更新的规则写好,然后将规则注入到组件中,然后状态按照预订的规 ...
- 讲清楚之 javascript中的this
讲清楚之 javascript中的this 这一节来探讨this. 在 javascript 中 this 也是一个神的存在,相对于 java 等语言在编译阶段确定,而在 javascript 中, ...
- 解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告
使用xshell连接服务器时,出现了"WARNING! The remote SSH server rejected X11 forwarding request.",意思是&qu ...
- Mybatis-sql语句的抽取
1.抽取之前的UserMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...