在postman编写的每一个叫测试用例,既然收测试用例,那么就会有结果对比

API测试断言tests(判断一个接口测试用例是否成功,或者说是通过,是根据断言的三个条件都成立的情况下得到的结果)

  1. 协议状态码

    例:登录错误的状态码 返回响应数据只需要验证101

  2. 响应数据

  3. 业务状态码(是程序员根据自己的想法来定义的)

tests

(例如)

  1. //定义一个变量来存放响应数据

  2. var jsonData=JSON.parse(responseBody)

  3. //查看返回的响应数据

  4. console.log("查看响应数据\n",jsonData)

  5. //验证协议状态码

  6. pm.test("Status code is 200", function () {

  7. pm.response.to.have.status(200);

  8. });

  9. tests["验证username字段"]=jsonData.user.username=="无涯"

  10. console.log(jsonData.user.usernamne)

  11. //验证usermane字段

  12. var abc={

  13. "a":{

  14. "aa":"aaa"

  15. }

  16. }

  17. 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验证的更多相关文章

  1. Token验证失败

    Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...

  2. Web APIs 基于令牌TOKEN验证的实现

    Web APIs 基于令牌TOKEN验证的实现 概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但 ...

  3. Token验证失败的解决方法

    Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...

  4. Django restframework之Token验证的缺陷及jwt的简单使用

    一.主要缺陷: 1.Token验证是放在一张表中,即authtoken_token中,key没有失效时间,永久有效,一旦泄露,后果不可想象,安全性极差. 2.不利于分布式部署或多个系统使用一套验证,a ...

  5. 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 ...

  6. 总想自己动动手系列·3·微信公众号和外网服务交互之通过TOKEN验证(准备篇·1)

    一.准备工作 (1)准备一个微信公众号(对私的订阅号或者对公的服务号). (2)准备一台部署了web应用,并且已经发布出去的Linux服务器(需要说明的是:微信公众号强烈建议使用80端口,使用其他自定 ...

  7. NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)

    背景 使用 NodeJS 进行微信公共号开发,首先需要响应微信发送的Token验证,官方文档 填写服务器配置 登录微信公共平台,在开发下的基本配置打开该页面. 依次填写接口的 URL.自定义的 Tok ...

  8. 你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 原文: ...

  9. 微信公众平台消息接口开发(2)你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 本系统 ...

  10. 服务器通过微信公众号Token验证测试的代码(Python版)

    我在阿里云租了一个云服务器,然后想把这个作为我的微信公众号的后台,启用微信公众号开发者需要正确的响应微信服务器的Token验证,为此把这个验证的Python代码贴出来,只要在服务器上运行这段代码,注意 ...

随机推荐

  1. 团队vue基础镜像选择思考

    前端镜像可以考虑使用nginx或者openresty; 镜像 大小 说明 nginx:1.20.2-alpine 8.41 MB 最小最新版本 nginx:1.21.4 50.95 MB 最新版本 n ...

  2. Chroot 特性 ?

    3.2.0 版本后,添加了 Chroot 特性,该特性允许每个客户端为自己设置一个命名 空间.如果一个客户端设置了 Chroot,那么该客户端对服务器的任何操作,都将 会被限制在其自己的命名空间下. ...

  3. mybatis-数据库类型的对应关系

  4. su 和 sudo的区别

    su是一个命令,可切换其他用户进行操作:而 '-' 号则是代表是否完全切换指定的用户环境信息 sudo是一个服务,可通过/etc/sudoers进行配置文件,让被限制的用户只能执行被授予的命令操作.

  5. String s = new String(“xyz”);创建了几个字符串对象?

    两个对象,一个是静态区的"xyz",一个是用 new 创建在堆上的对象.

  6. 学习SVN02

    代码发布方案: 1,安装,优化 软件环境,(nginx,lvs)  <-------运维工程师 2,程序代码(不断更新).   <--------开发工程师,(开发,运维都可以发布) 3, ...

  7. 学习 Haproxy (六)

    HAProxy HAProxy是免费 高效 可靠的高可用及负载均衡解决方案,该软件非常适合于处理高负载站点的七层数据请求,HAProxy的工作模式使其可以非常容易且安全地集成到我们现有的站点架构中.使 ...

  8. GlusterFS(GFS) 分布式存储

    GlusterFS(GFS) 分布式存储   GFS 分布式文件系统 目录 一: GlusterFS 概述 1.1 GlusterFS 简介 1.2 GlusterFS特点 1.2.1 扩展性和高性能 ...

  9. Matplotlib is currently using agg, which is a non-GUI backend 和 ImportError: No module named 'Tkinter' [closed]

    跑maskrcnn报错:UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot sh ...

  10. STM32 标准库

    CMSIS 标准及库层次关系 因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的Co ...