0


postman高级应用

本页面用于积累Postman的高级应用,方便测试和团队合作

目录

一、加入postman团队

二、知识储备

  • 创建接口合集和请求

  • 导入和导出

  • 环境变量、全局变量

  • test模块、Pre-request Script模块

  • 接口关联

  • 传参方式:动态变量传参、数据变量传参

  • flow流程

  • 遇到的一些问题

三、应用-财报解析接口自动化测试

一、创建团队

  1. 申请个人账号:团队每个成员自己注册账号,登陆即可

  2. 创建团队:使用账号登录后,点击顶部的 My Workspace,创建团队 WorkSpace,创建团队工作空间并邀请成员,被邀请的人就可以加入该 workspace

  3. 加入团队:进取组团队邀请链接:

二、知识储备

  • 创建接口合集和请求:后续如果团队空间中的集合和请求发生变化,都会同步

  • 导入和导出:

1.postman通过链接导出、导入

1.1 导出

1.2 导入

2.postman通过json文件导出、导入

2.1 导出

2.2 导入postman

3.将postman导出的json格式的接口文档导入yapi:

yapi导入json文档只支持v1.1格式,导入v2.0格式的json文件会提示解析数据为空,但目前postman导出的json文档为v2.0格式,所以需要格式转换,详情参考

https://blog.csdn.net/weixin_45005846/article/details/124968797?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124968797-blog-111307663.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124968797-blog-111307663.pc_relevant_default&utm_relevant_index=1

用到的代码:

终端中,输入以下命令以安装 :Postman Collection Transformersudo npm install -g postman-collection-transformer

输入以下命令将单个 Postman 集合从 v2 转换为 v1,生成的集合将以 v1 格式下载到您的目标文件路径:postman-collection-transformer convert -i 1103财报-2022.8.2.postman_collection.json -o 1103.test.json -j 2.0.0 -p 1.0.0 -P

  • 环境变量、全局变量

1.概念:

环境变量:postman可以设置多套环境,每套环境里可以有多个环境变量。环境变量是特定的环境下引用的变量,必须要制定对应的环境才能引用到其中的变量

全局变量:postman只可以设置一组全局变量,作用于整个postman。全局变量是在postman中所有的api都使用的变量,可以直接引用全局变量中的变量,而不用指定环境(独立于环境变量)

2.设置步骤:

点击右上角眼睛,点击add

进行环境命名

在URL里填入host参数,点击右上角进行环境切换

  • test模块、Pre-request Script模块
  1. test模块:是请求发送之后需要执行的代码片段

1.1判断请求返回的 code 是否符合预期

1.2判断请求返回的内容中是否包含(关键字),或者等于预期的内容

1.3判断接口返回值为字符串类型,转换成json类型

1.4获取接口返回值,并设置全局变量

2.Pre-request Script模块:是请求发送之前需要执行的代码片段

2.1加密请求,如果接口信息需要加密,选择Pre-request Scripts标签,在Pre-request Scripts中请求一个加密接口,然后将获得加密后的数据设为环境变量

2.2获取当前日期、时间戳,编写如下脚本,在接口请求参数中引用设置的变量,查看控制台可以看到输出

2.3在Pre-request中获取环境变量(和上面tests页签中获取并设置的逻辑一样)

  • 接口及联:

将上一个接口获取的返回值通过test脚本设置成变量,下一次需要用到该参数的接口,在参数值位置填入变量

  1. 以上面的token为例,其余接口需要token,在auth里选择bearer token,token值位置填充{{token}},以后可以直接动态获取token值

或者不想一个个去设置bearer token,也可以点击接口合集,选择edit,填入token

  • 传参方式:动态变量传参、数据变量传参

注意:这两种变量使用之前要在pre-request script中定义过,然后在request的URL、headers、body中以放在双花括号中间的形式使用。

1.动态变量传参:Postman也有一些动态变量,可以用在你的request中。在request header中包含时间戳或者在URL参数中发送一个随机字符串,时间戳和随机字符都属于动态变量。

引入变量,将账户和密码字段的参数值都设置为变量:{{username}}、{{password}}

然后在Pre-request Script 功能区中用脚本将上面两个变量进行赋值,但这种方法是将参数值写死,所以无论运行多少次还是固定是一个参数值

2.数据变量传参:集合运行器让我们导入CSV或JSON文件,然后在HTTP请求和脚本中使用来自数据文件的值。这些变量称为数据变量。

以csv文件批量导入数据为例:

打开文本编辑器:第一行 写入 的是 数据对应的 “字段名”,从第二行向后依次是对应的数值,数据间用 英文逗号隔分。

或者在excel中填写测试数据,将文件保存为csv格式,utf-8编码方式。传入四组测试数据

在需要引用参数的接口下的pre-request Script下定义需要的参数

运行次数选择4次,文件上传刚才保存的csv文件,点击运行按钮

  • flow

参考链接:https://blog.csdn.net/jjc120074203/article/details/122812158?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166728468516800186569828%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166728468516800186569828&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-122812158-null-null.142^v62^pc_search_tree,201^v3^control_2,213^v1^control&utm_term=postman%E4%B8%AD%E7%9A%84flows%E6%98%AF%E5%B9%B2%E5%98%9B%E7%9A%84&spm=1018.2226.3001.4187

1.是一个 API 工作流构建器,可让以逻辑方式连接 API。使用 Flows 在您的 Postman 工作区中链接请求、处理数据和创建真实世界的工作流

2.步骤

2.1创建一个Send Request Block

2.2创建一个Create Durables 映射 Token变量(Create Durables 作用:将A接口返回值存储到一个变量中 功能效果等价【Assign Variables】)

2.3使用Token变量 创建一个SendRequest进行链接

2.4接口配置变量

2.5执行

  • 遇到的问题:

1.财债通后台登陆接口:没有屏蔽掉验证码,在执行登陆接口时,只更新验证码,点击运行提示错误验证码,https://czt.datagrand.cn/#/passport/login

解决:同时更新cookie和验证码,再点击运行。session是服务端根据cookie获取唯一对应的session(jessionid),该session对应登陆的验证码。只要cookie没有过期,session不会改变,刷新可以验证码会改变,此时只需要改验证码。

2.接口合集里的每个接口单独运行,没有报错,点击运行集合后,其中一个接口报错:Form param file, file load error: PPERM: insecure file access outside working directory

解决:出错的接口需要上传文件,运行合集时,需要在设置里打开allow reading files outside working directory按钮

  1. 上传文件接口获取到file_name和unique_name两个键值对的字典。将该字典设置成全局变量时,postman默认把字典数据变成string格式。在创建任务接口时,调用该全局变量,并打印该全局变量,发现该字典被识别为object格式

解决:把获取到的字典格式在pre-request script之前进行序列化 JSON.stringify()

参考链接:https://blog.postman.com/when-and-how-to-use-json-serialization-in-postman/

https://blog.csdn.net/qq_40897858/article/details/122183634?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166683436816781432912077%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166683436816781432912077&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-122183634-null-null.142^v62^pc_search_tree,201^v3^control_2,213^v1^control&utm_term=postman%E5%BA%8F%E5%88%97%E5%8C%96&spm=1018.2226.3001.4187

三、应用-财报解析接口自动化测试

选择一个接口合集,点击run collection运行

接口运行结束,会有运行结果概览。若某个接口有加上test断言,在接口运行结果下方展示pass或者fail。接口无断言,展示no test in this request

标签: postman 测试工具

本文转载自: https://blog.csdn.net/sxmia/article/details/128723456
版权归原作者 sxmia 所有, 如有侵权,请联系我们删除。

“postman高级应用”的评论:

还没有评论