接口测试从0开始(三):postman设置token为变量
前面扯呼了那么多,现在开始上干货,都是自己摸索的,网上也参照了:
1.postman导入登录curl:
step1:首先肯定是找到自己要用的系统的登录界面了
step2:浏览器打开页面,同时F12打开调试,选择Network,有些登录会跳转的,记得在开发者工具勾选Preserve log
step3:页面输入用户名、密码,点击登录(顺带说一句,有验证码的话需要在开发帮忙)
step4:等登录完成之后,在Network下找,必定有一个页面请求,我们系统叫做login,然后点击它-右键-选择copy -copy as bash
step5:copy好了之后,打开postman-左上角file-import-弹出页面选择raw text-continue-import
step6:这一步就已经完成导入了,postman也打开了你刚导入的脚本,如下图

简单解释下,
body:请求发送的具体内容。导入之后点右侧的beautify会美化
headers:就是请求头,包含请求时候用到的一些限制这些,导入之后一般没改了
pre-request Script:字面意思就很直接了,执行请求前的脚本,就是说你这个脚本执行前,会先执行这里
tests:测试的核心点,就是这里验证测试是否通过这些
其他的就不管了,我是没管。
step7:导入之后,点击url后的send按钮,可以先执行以下,看看是否能正常运行,理论上是OK的
step8:如果步骤7OK,那么你可以按住键盘的Ctrl+alt+C 调出你的postman的控制台,检查刚发送请求的响应结果,如下:
Response Headers
Server: nginx/1.15.6
Date: Thu, 11 Mar 2021 07:56:22 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: test_platform=Platform_f543f67b-4266-47bd-a3d0-737a9a0398ab; Max-Age=10800; Expires=Thu, 11-Mar-2021 10:56:22 GMT; Domain=winxuan.com; Path=/
Content-Encoding: gzip
{"code":200,"msg":"成功","result":{"cookieName":"test","sessionKey":"Platform_f543f67b-4266-47bd-a3d0-737a9a0398ab","nickName":"test1","hasBound":true,"isTechCenter":true,"lastLoginTime":"2021-03-11T15:55:18"}}
step9:这一步就很关键了,拿你自己要测试的系统来说,你看看你的其他页面请求时候用到的token是什么,我这边就是用到的响应头的set-cookie下的test_platform,其实也就是response body 下result的sessionKey
step10:但是我们怎么把test_platform单独取出来呢?步骤如下:
取responsebody的话:
var resdata=JSON.parse(responseBody) ; 把请求的响应body取出来,赋给resdata(自己定义)
console.log(resdata); 打印出来看看,可要可不要
var testdata=resdata.result.sessionKey;
console.log(testdata); 这里打印出来就是具体的你要的值了
step11:设置为全局变量
pm.globals.set("Test-Token", "testdata"); 这样就设置好了,下面就说下怎么用这个变量,我这里设置的是globals,全局的,还有环境变量的,可以去百度了解下,就不细说了
本文来自博客园,作者:wshareyy,转载请注明原文链接:https://www.cnblogs.com/wsharetesty/p/14518459.html

浙公网安备 33010602011771号