Postman常见问答

本文详细描述了Postman在工作中的使用流程,包括创建集合管理接口、使用变量和脚本进行数据关联、编写断言以及利用Newman进行批量测试。同时介绍了Postman中变量的优先级和关联设置方法。
摘要由CSDN通过智能技术生成

Postman在工作中使用流程是什么样的?

Postman是一款功能强大的接口测试工具,它可以帮助开发者和测试者快速地构建、发送、调试和管理各种类型的接口请求。Postman在工作中使用流程大致如下:

  • 根据接口用例所属的模块或功能,新建集合(Collection)来管理接口请求,可以在集合中设置公共的变量、参数、认证等信息,方便复用和修改。

  • 在集合中不同的文件夹下编写接口测试用例,可以使用Postman的图形化界面或者直接输入URL、Header、Body等信息来构建请求,也可以导入或生成代码片段来发送请求。

  • 处理接口之间的数据关联操作,可以使用Postman的变量(Variable)和脚本(Script)功能来实现,例如在Pre-request Script中设置变量的值,在Tests中获取响应数据并赋值给变量,在其他请求中引用变量的值。

  • 在Tests标签页中增加断言(Assertion),可以使用Postman的内置库Chai Assertion Library来编写断言语句,检查响应的状态码、内容、时间等是否符合预期,也可以使用Postman的内置函数pm.test()和pm.expect()来编写断言。

  • 将接口调试通过,可以在Postman的界面中查看请求的发送和响应的接收情况,也可以在Console中查看更详细的日志信息,如果有错误或异常,可以及时修改和重试。

  • 批量运行用例或者导出通过Newman去运行生成报告,可以使用Postman的集合运行器(Collection Runner)来批量执行集合中的所有或部分请求,也可以使用Postman的命令行工具Newman来在终端中运行集合,并生成HTML或JSON格式的测试报告。

Postman中全局/环境/集合变量的优先级是怎么样?

  • 当变量重名时,优先级由高到低为:本地变量 > 数据变量 > 环境变量 > 集合变量 > 全局变量。

  • 这意味着,如果在不同的范围中定义了相同名称的变量,Postman会使用存储在具有最窄范围的变量中的值。例如,如果有一个名为base_url的全局变量和一个名为base_url的本地变量,那么Postman会使用本地变量的值。

  • 变量的范围决定了变量在Postman中的可用性和持久性。例如,全局变量在整个工作区中都可用,而本地变量只在单个请求或集合运行中可用。

  • 变量的类型决定了变量的显示和共享方式。例如,机密类型的变量会掩盖其初始值和当前值,以防止敏感数据的泄露,而默认类型的变量则会以纯文本的形式显示。

Postman如何设置关联呢?

关联是指在接口测试中,使用前一个接口的响应数据作为后一个接口的请求参数,从而实现接口之间的依赖关系。

Postman中设置关联的方法有以下几种:

  • 使用环境变量(Environment Variable):环境变量是一种在Postman中存储和引用数据的方式,它们可以在不同的请求和集合中使用。要使用环境变量实现关联,可以在Tests标签页中使用pm.environment.set(“variable_key”, “variable_value”)来设置环境变量的值,然后在其他请求中使用{{variable_key}}来引用环境变量的值。例如,如果要将登录接口的token值作为后续接口的请求头,可以在登录接口的Tests中使用以下代码:

 
  1. var jsonData = pm.response.json(); //解析响应数据为JSON格式

  2. pm.environment.set("token", jsonData.token); //将token值设置为环境变量

然后在其他接口的Headers中使用以下代码:

Authorization: Bearer {{token}} //引用环境变量作为请求头
  • 使用全局变量(Global Variable):全局变量与环境变量类似,也是一种在Postman中存储和引用数据的方式,但它们的作用范围更广,可以在整个工作区中使用。要使用全局变量实现关联,可以在Tests标签页中使用pm.globals.set(“variable_key”, “variable_value”)来设置全局变量的值,然后在其他请求中使用{{variable_key}}来引用全局变量的值。例如,如果要将用户ID作为全局变量,可以在任意一个接口的Tests中使用以下代码:

  1. var jsonData = pm.response.json(); //解析响应数据为JSON格式

  2. pm.globals.set("user_id", jsonData.user_id); //将用户ID设置为全局变量

然后在其他接口的Params或Body中使用以下代码:

user_id: {{user_id}} //引用全局变量作为请求参数
  • 使用数据变量(Data Variable):数据变量是一种在Postman中存储和引用数据的方式,它们可以在集合运行器或Newman中使用,可以实现参数化的效果。要使用数据变量实现关联,可以在集合运行器或Newman中指定一个数据文件,如CSV或JSON格式,然后在请求中使用{{variable_key}}来引用数据文件中的值。例如,如果要使用一个CSV文件作为数据变量,可以在集合运行器中选择该文件,然后在请求中使用以下代码:

  1. username: {{username}} //引用数据文件中的username列的值

  2. password: {{password}} //引用数据文件中的password列的值

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值