postman 字符串中有冒号_postman的使用技巧

    有段时间调用接口比较频繁。虽然用charles, fiddler都能胜任。但是不想用代理去连手机。而且各个环境来回切换比较麻烦。很早以前用过一段时间postman, 觉得还不错,最近又想用一下,发现不是很熟悉了。

    首先得去官网下载一个postman安装。
建一个collection, 将请求都放入其中,方便管理。配置url, 设置header

88fe36687100e584db66e3ddb68746d7.png

填写body

3210c1f4369836c789c22daab56f7a2f.png

因为后续的接口需要获取token,session,可以在test里面设置全局变量

b1fe21eb8889e3702389301408ae9710.png

大致语法如下:

测试response Headers中的某个元素是否存在 tests["元素Content-Type是否存在"] = postman.getResponseHeader("Content-Type");
//getResponseHeader()方法会返回header的值;

定义一个xxx,获取headers值 var.xxx = postman.getResponseHeader("key");
将Headers中的值设置为一个环境变量 postman.setEnvironmentVariable("key",xxx);或者pm.environment.set("key",xxx);


检查response的code值是否为200 tests["Status code is 200"] = responseCode.code === 200;
// tests["Status code is 200"]中的tests是一个内置对象,
tests["Status code is 200"]是指为这个断言起个名称叫”Status code is 200”,这个名称可以自行修改。
responseCode.code === 200中的responseCode是内置对象,responseCode对象中有个属性是code,是指HTTP状态码的code,判断code是否为200.
综合起来,这句代码的意思是:名称为”Status code is 200”的断言中,判断responseCode对象的code属性值(HTTP状态码)是否为200。

检查response的body中是否包含字符串 tests["Body matches string"] = responseBody.has("type");
// tests["Body matches string"]中的tests是一个内置对象,
tests["Body matches string"]是指为这个断言起个名称叫”Body matches string”,这个名称可以自行修改。
这句代码的意思是:名称为”Body matches string”的断言中判断响应正文中是否包含:type这个字段。type无论是key或者value,只要匹配就可以。多个类型可用“,”分割。

检查Response Body是否等于字符串 tests["测试点"] = responseBody === "Response Body返回的内容";
//这个可以用在接口返回内容为纯字符串时,直接检查整个返回结果的正确性

检查Response time 是否小于200ms tests["Response time 小于200毫秒"] = responseTime < 200;

检查Response time 是否大于200ms tests["Response time 大于200毫秒"] = responseTime > 200;

postman.setNextRequest('Request 4')
// postman.setNextRequest()是一个带有一个参数的函数,它是接下来要运行的请求的名称或ID。往往用来跳转至某个接口,只在运行该集合时有用,单独运行无效

当然不需要记这么多,后面有文档,点击一下就能得到提示。
当我们跑通了一个环境后,就设置环境变量来跑各个环境了。
我们可以在全局变量里面添加:

61d8c361322fa481a8e21fd228360b6a.png

不同的环境叫一个名字,所有的公用的可以叫同一个名字。这样可以自由选择。
然后可以在collection里面运行了。

6ebeb714995d7cdfcbdd1a5d2fbcdd67.png

当然如果觉得一个一个添加接口太麻烦,可以用录制的方法来添加,然后参数化。

  • 设置代理
    1.1 点击雷达图标

    07645c1388f05132c3e0c2610f147955.png

    image

    1.2 设置端口及目标

    d4fb4904862b2505b754d94c4adf555e.png

    image

    f3b332d16b823b932f745a4a95ba1a1d.png

    image

    • 设置手机代理
      前提:手机和电脑在同一局域网

    • 输入过滤条件(可忽略)

然后就是参数化,不管是是设置的全局变量,还是获取的,都可以用{{variable}}来替换,当然,如果有“”, 这个是放在引号里面的,如:"{{variable}}"
这样就可以随心所欲的调试接口了。
当然也可以结合newman来命令行执行,还可以配到jenkins上。这里就不折腾了。

更多精彩,请关注 python粉丝团

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值