接口测试 求助 postman 自动获取登录的 token 和 user_id 作为 collection 里下一个请求 URL 的 request

Test44 · July 11, 2016 · Last by VII replied at April 11, 2017 · 7010 hits

我是接口测试小白,从功能转的,选择用postman作为接口测试,我喜欢它的简洁和快速,但我对于API自动测试不懂。
请求业务逻辑如下:
1.collection里有两cases,cases1是登录,cases2是获取用户信息,
2.cases2的request里(就是cases2的request里的token和user_id),需要带cases1的response Body里的token和uid,
3.这是cases1用户登录的设置和请求,我把URL请求的域名地址端口等设置在Manage Environment

pre-request Script里设置的请求URL需要带的网关验证如下:

4.cases1的登录请求是成功的,Tests里的设置如下:


这是登录请求成功


这是登录的Tests设置

5.cases2获取用户信息请求提示参数错误(应该是cases1获取token和uid作为环境变量有问题,但是我不知道哪儿有问题)


这是cases2请求的,token和user_id是获取cases1的response Body里的token和uid,但是请求提示参数错,这两个有问题

求助,大神告知小弟我哪儿出现出错,我是真心在做接口测试,从功能转的,不容易。

共收到 13 条回复 时间 点赞

postman.setEnvironmentVariable("user_id", "data.uid");

修改为

postman.setEnvironmentVariable("user_id", data.uid);

补充下,data.token 也是同理。编程语言里加双引号表示字符串,没加表示变量。

Test44 #3 · July 12, 2016 作者

#1楼 @doctorq
我明白了谢谢您,这是错误之一,
其实我里面还有两个错误
错误2,Tests里应该是写成这样的:postman.setEnvironmentVariable("user_id", data.response.uid)
错误3,Pre-request Script里的与token和user_id相关的两项应该是写成是postman.getEnvironmentVariable("token","data.response.uid");
postman.getEnvironmentVariable("user_id","data.response.token");
我原先都写成了setEnvironmentVariable
非常感谢,不过我又出现另一个问题了:
如图绿色圈出来部分,我需要验证responseBody里返回的result下的code是否正确,在Tests里应该怎么写,我这总是报fail

Test44 #4 · July 12, 2016 作者

#2楼 @chenhengjie123
嗯,我明白了,一步步在搞,谢谢您

#3楼 @tangtest4 如果要比较code==0,不是应该是responseBody.result.code===0么?

楼主,你在Pre-request-script中通过postman.getEnvironmentVariable("token",data.response.token);能获取到你case1的response中的token?
我这边类似的操作,直接提示我,参数未定义,,,

Test44 #7 · July 12, 2016 作者

#6楼 @cyy
cases2的Pre-request-script中通过postman.getEnvironmentVariable("token",“data.response.token”)
cases1的Test需要先postman.setEnvironmentVariable("token", data.response.token)

#5楼 @doctorq
大哥,请教您另一个问题,cases1得到的responseBody里的返回参数A,如何在postman设置让它自动成为cases2的requestBody的请求参数A,如图:
这是cases1得到的responseBody

这是cases2的requestBody

怎么把cases1的login_token自动同步到cases2里?
cases1的Tests要怎么写?
cases2的Body又要怎么写?

#8楼 @tangtest4 不是有种写法叫全局变量,{{}}包裹的,自己啃文档吧

Test44 #10 · July 13, 2016 作者

#9楼 @doctorq
不是这个的好不。。。。

@tangtest4 仔细阅读官方文档https://www.getpostman.com/docs/sandbox希望对你有帮助

Test44 #12 · July 26, 2016 作者

#11楼 @softblank嗯最近一忙,这两天有时间了。我马上看看文档,回头不懂再咨询大家

我出现了同样的问题,求帮助。。。😰 😰 😰

Test44 关闭了讨论 18 May 17:45
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up