51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2298|回复: 1

[转贴] 浅谈接口测试(四)初步认识postman

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:12
  • 签到天数: 918 天

    连续签到: 3 天

    [LV.10]测试总司令

    发表于 2020-10-21 14:20:48 | 显示全部楼层 |阅读模式
     我们如果在命令行发送post请求,会很麻烦,效率不高。同时也不方便接口的管理,所以一些优秀的接口测试工具应运而出,postman就是绕不开的话题之一
      1. 主要功能
      postman主要帮我们干了三件事:
      把相关集合放到一个集合当中方便管理
      对指定接口发送请求
      下面我们使用postman工具操作getList接口:
      新建一个集合TestDemo,用来管理相关用例

     添加一条请求(addRequest)

    编辑请求,修改url,请求方式和参数

    发送请求查看结果

    以上步骤,是postman的主要功能,也是我们前三个小节一直叨念的部分,只不过通过postman来完成,下面是前面没有讲到过的东西----断言
      断言
      按照截图打开断言区域:


     我们按照用例来设置断言:
      设计用例(功能):
      是否按照创建时间倒序排列
      是否返回指定的条数


    1. pm.test("是否含有create_time节点", function () {

    2.     pm.expect(pm.response.text()).to.include("create_time");

    3. });

    4. pm.test("返回2条数据", function () {

    5.     var jsonData = pm.response.json();

    6.     var num = jsonData.result.length;

    7.     pm.expect(num).to.eql(2);

    8. });

    9. pm.test("时间倒序排列", function () {

    10.     var jsonData = pm.response.json();

    11.     var time1 = jsonData.result[0].create_time;

    12.     var time2 = jsonData.result[1].create_time;

    13.     pm.expect(time2).to.be.below(time1);

    14. });
    复制代码
    发送请求后,店家Test Results查看结果如下:

    红色的提示表示断言失败,这个时候我们需要修改接口代码(getList_fix.php):

    1. <?php

    2. // 告诉浏览器返回为json类型

    3. header('Content-Type:application/json; charset=utf-8');


    4. // 获取参数

    5. $page = $_GET['page'];

    6. $size = $_GET['size'];

    7. /**

    8. * 在真正的开发过程中,会操作数据库,我们暂时用一个多维数组代替

    9. */

    10. $data_list = array(

    11.     array('id'=>1,'name'=>'成龙','create_time'=>1587890857000),

    12.     array('id'=>2,'name'=>'周润发','create_time'=>1587804457000),

    13.     array('id'=>3,'name'=>'周星驰','create_time'=>1587690857000),

    14.     array('id'=>4,'name'=>'李连杰','create_time'=>1587590857000),

    15.     array('id'=>5,'name'=>'梁朝伟','create_time'=>1587490857000),

    16.     array('id'=>6,'name'=>'张曼玉','create_time'=>1587390857000),

    17.     array('id'=>7,'name'=>'惠英红','create_time'=>1587290857000),

    18.     array('id'=>8,'name'=>'林青霞','create_time'=>1587190857000),

    19.     array('id'=>9,'name'=>'王祖贤','create_time'=>1587090857000),

    20.     array('id'=>10,'name'=>'巩俐','create_time'=>1586890857000)

    21. );




    22. foreach($data_list as $key=>$value){

    23.     if($key >= ($page -1) * $size &&  $key < $page * $size){

    24.         $temp[] = $value;

    25.     }

    26. }

    27. // 组织的数据

    28. $data = array(

    29.     'code' => 200,

    30.     'msg' => '请求成功',

    31.     'result' => $temp


    32. );




    33. // PHP数组转json

    34. $rst = json_encode($data,JSON_UNESCAPED_UNICODE);




    35. // 打印结果

    36. echo $rst;
    复制代码
    按照上面的流程,创建一个请求,添加断言,在此访问返回结果如下:

    返回绿色说明测试通过
      稳重的断言代码是由js编写,大家书写断言的时候不要被代码吓到,因为postman已经提供了比较丰富的断言片段,直接点击即可生成。



    本帖子中包含更多资源

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

    x
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-28 23:25 , Processed in 0.062485 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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