Postman API 接口测试、Jenkin 持续集成测试 (2)

可以说,使用后置脚本就像给整个接口测试流程注入生命,比如,一些授权接口需要获取 ticket,然后其他接口需要用这个 ticket 来授权,那么就可以在请求 ticket 后将它设置到变量中:

var jsonData = pm.response.json(); pm.test("ticket exists", function () { pm.expect(jsonData.ticket).exist }); pm.collectionVariables.set('ticket', jsonData.ticket)

另外,Tests 还可以发起新的 HTTP 请求:

pm.sendRequest('http://localhost:8080/user/ticket/1', (error, response) => { if (error) { console.log(error); } pm.collectionVariables.set('ticket', response.json().ticket) });

关于 Tests 的调试信息,可以通过 Postman 底部的 Console 来查看。

环境变量

Postman 的环境变量方便开发针对不同的环境进行切换,而接口方面不用做任何调整,这一点对开发者来说也是很有用的,因为在开发中过程一般都有很多个环境,比如:

开发环境:开发自己的电脑运行的程序

测试环境:测试服务器上运行的程序

预发布环境:测试通过后,进行试运行的程序

线上环境:真正为服务器上运行的环境

Postman 运行用户创建多个运行环境,举个例子,创建 “开发” 和 “测试” 这两个环境,并在不同的环境中定义不同的变量(host:IP,port:端口)

将请求 URL 调整为取环境变量值:

{{host}}:{{port}}/user/1?t={{timestamp}}

这样,针对不同的环境测试,就不用改IP、端口,只需要切换运行环境即可。

结果渲染

结果渲染这部分感觉实际用得不是很多,但也不是说没有用,比如:想要将结果渲染成表格,或者说报表就可以用到这个功能。

这一块还是在后置脚本(Tests)中处理,以渲染表格为例:

渲染图表案例:

接口文档

Postman 接口文档位于 Postman 界面的最后测,接口文档支持 Markdown 编写,这个对于程序员来说非常友好,可以根据需要为集合(Collections)或者接口编写对应的文档。

另外,除接口文档外,Postman 的 example 也是非常有用,它可以把每种请求接口保存为一份示例,这样,不管是成功,还是失败,都可以快速查看返回数据格式(这对对接非常有用)。

下面是一份成功请求的示例:

接口授权

Postman 的接口鉴权管理在 Collections 的 Authoriztion 中,开发者可以通过 Type 选择鉴权的方式,包括 ApiKey,BasicAuth,OAuth2.0等等,传值可以选择 Header 获取 URL参数。

对于鉴权值,可以选择直接填写,也可以使用变量值的形式,比如{{ticket}},如果将其他接口(比如登录接口)的返回值,设置到环境变量中。

var jsonData = pm.response.json(); pm.test("ticket exists", function () { pm.expect(jsonData.ticket).exist }); pm.collectionVariables.set('ticket', jsonData.ticket)

关于 Postman Jenkins 持续集成测试的方法,可以关注公众号 “HiIT青年” 发送 “postman” 查看。

=========================================================

HiIT青年

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwzjx.html