51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3435|回复: 5
打印 上一主题 下一主题

[求助] Postman 环境变量设置问题

[复制链接]
  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-6-26 13:01:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    问题背景:

    最近在借助Postman做一个简单的接口自动化,由于流程较长,所以下一个接口要用到上一个接口的数据,遂使用设置环境变量的方法保存一些变量,以便后续接口使用。

    问题描述:

    现在有A、B两个接口,A接口返回的response的body中是以下结构,我要取rows里面的order_id给B接口用。

    1. {
    2.   "status": 1,
    3.   "code": 0,
    4.   "msg": "获取**成功!",
    5.   "data": {
    6.     "rows": [
    7.       {
    8.         "order_id": "1493967886001",
    9.          ......
    10.       }
    11.     ],
    12.     "pagenation": {
    13.       "total": "1",
    14.       "page": "1",
    15.       "pagesize": "20",
    16.       "page_offset": 0,
    17.       "page_total": 1
    18.     }
    19.   }
    20. }
    复制代码
    解决办法:

    1、在A接口的test里面设定环境变量
    1. var data = JSON.parse(responseBody);

    2. if(data.status ==1){
    3.     tests["查询成功"] = true;
    4.     postman.setEnvironmentVariable("order_id", data.data.rows.order_id);
    5. }
    6. else{
    7.     tests["查询成功"] = flase;
    8. }
    复制代码
    2、在B接口的参数Body中调用{{order_id}},但是我发现查看环境变量,A接口的这个值并没有赋予到环境变量order_id里面。

    问题分析

    其他接口我也是这样调用是没有问题的,但是这个接口不同的是在A接口的response里面的rows内多了一个[],所有没有成功赋予该值到order_id。我百度了一下资料,并没有相关的介绍,所有在此问问各位有什么解决的办法。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2017-6-26 15:44:47 | 只看该作者
    试下这个了 data.data.rows[0].order_id
    或者这样循环去找
    for (var i = 0;i < jsonData.data.rows.length;i++){
    var list = jsonData.data.rows[i];
    tests["订单编号"+list.order_id] =list.order_id
    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2017-6-26 15:45:35 | 只看该作者
    巴黎的灯光下 发表于 2017-6-26 15:44
    试下这个了 data.data.rows[0].order_id
    或者这样循环去找
    for (var i = 0;i < jsonData.data.rows.lengt ...

    嗯,谢谢,已经解决了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-17 08:41
  • 签到天数: 22 天

    连续签到: 1 天

    [LV.4]测试营长

    4#
    发表于 2018-1-1 21:03:55 | 只看该作者
    真的吗?我回去试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-17 08:41
  • 签到天数: 22 天

    连续签到: 1 天

    [LV.4]测试营长

    5#
    发表于 2018-1-1 22:44:48 | 只看该作者
    巴黎的灯光下 发表于 2017-6-26 15:44
    试下这个了 data.data.rows[0].order_id
    或者这样循环去找
    for (var i = 0;i < jsonData.data.rows.lengt ...

    非常感谢,data.data.rows[0].order_id 这样就可以用了。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 04:27 , Processed in 0.069219 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表