51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2145|回复: 0
打印 上一主题 下一主题

[原创] Postman的一点使用技巧

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

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-1-15 15:39:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    本帖最后由 乐哈哈yoyo 于 2019-1-15 15:42 编辑

    环境变量(environment variable)

    postman中使用环境的概念,分为局部环境(environment)和全局环境(globals),用户可以将会变化的接口参数(如B接口的入参是来自A接口的返回报文、接口地址等)作为变量以key-value的形式定义在一个环境中,当做接口测试时直接选择相应的环境即可。


    在postman的右上角进行设置:




    使用变量

      使用变量特别简单和方便,只需用两个大括号引用即可,当发起如下接口请求时url和userId变量将会替换成对应环境中的值。
      https://{{url}}/app/user/{{userId}}


    postman内置的变量
    • {{$guid}} : Adds a v4 style guid
    • {{$timestamp}}: Adds the current timestamp
    • {{$randomInt}}: Adds a random integer between 0 and 1000

    脚本(script)

      postman中引入了script脚本,可以在发送请求前和发送请求后执行,可以和postman的环境完美结合,并且可以用来对接口的返回结果进行校验,其SNIPPETS定义了很多快捷的使用方式,直接点击相应的链接会在左边生成对应的模板代码。



    发送请求前处理
    1. 使用脚本生成变量值
    2. // 生成随机身份证号
    3. function getId_no(birthday){
    4.     var coefficientArray = [ "7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"];// 加权因子
    5.     var lastNumberArray = [ "1","0","X","9","8","7","6","5","4","3","2"];// 校验码
    6.     var address = "420101"; // 住址
    7.     var s = Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString();
    8.     var array = (address + birthday + s).split("");  
    9.     var total = 0;
    10.     for(i in array){
    11.       total = total + parseInt(array[i])*parseInt(coefficientArray[i]);
    12.     }   
    13.     var lastNumber = lastNumberArray[parseInt(total%11)];
    14.     var id_no_String = address + birthday + s + lastNumber;
    15.     return id_no_String;
    16. }
    17. pm.environment.set("certNo", getCertNo(19900101));
    18. 当接口请求报文需要使用certNo字段时,直接用{{certNo}}引用即可。
    复制代码

    发送请求后处理

    1. 解析接口返回信息
    2. var responseBody = pm.response.text();
    3. var jsonObj = JSON.parse(responseBody);
    4. pm.environment.set("bizNo", jsonObj.bizData.bizNo);
    5. 解析接口返回数据,可以进行对应的业务逻辑处理,将返回的业务字段设置到环境中便于下一个接口使用。
    复制代码

    集合(collections)

    postman用集合来组织接口,用户可以将多个业务相关的接口放在同一个集合中,以集合为单位一次执行集合中的所有接口(当需要批量执行某个接口时简直不要太方便)。



    使用data file

    在执行一个集合时可以使用data file来引入变量的值,支持CVS和JSON格式的文件,environment中的变量会覆盖文件中的同名变量。

    环境、集合都支持导出和导入,方便和其他小伙伴共享。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 00:13 , Processed in 0.065939 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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