Postman在软件测试的面试中,可以说是必考题了,既然是高频考题,当然得为粉丝宝宝们整理一波题库喽~

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

新建集合管理

根据接口所属的模块,在集合中不同模块下编写接口测试用例

处理接口之间的数据关联操作

添加环境变量

在tests tab下中增加断言

调试接口,确保接口能被正常调用

批量运行用例或者导出通过Newman去运行生成html报告

二、你使用过Postman的哪些功能?

自动化测试

Mock Server

请求调试

代理抓包

环境变量设置

用例导入与导出

生成在线API文档

三、Postman如何管理测试环境?

可以创建和切换postman里面的environment解决。

1、创建environment

例如创建两个环境environment,测试环境和预发布环境,填好对应的变量名称,初始值initial value和现在的值current value

2、设置environment

根据需要,可在测试环境和预发布环境之间自由切换

ps:environment还可以设置全局变量,作用于Postman所有的文件夹,当“环境变量”和“全局变量”设置同一个变量时,优先走“环境变量”的设置,当环境变量没有设置该变量时,才走全局变量的设置

四、Postman如何实现接口关联?

通过正则表达式提取的方式或json取值的方式,提取需要的参数

将参数设置为全局变量

在后面接口中,使用{{全局变量}}代替要替换的参数值

五、Postman参数化有哪几种方式?

环境变量

全局变量

内置函数

pre-scripts编写js脚本

Collection 变量

批量执行时使用的CSV、txt文本或者Json文件

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

当变量重名时, 优先级为:环境变量>Collection集合变量>全局变量(Globals)

七、Postman中常见的接口测试断言方法有哪些?

1、断言响应码(最常用)在tests框内输入如下命令 ,验证响应码是否为200

pm.test("Status code is 200", function () {    pm.response.to.have.status(200);});

2、断言响应是否包含某个字符串

pm.test("Body matches string", function () {    pm.expect(pm.response.text()).to.include("string_you_want_to_search");});

3、断言响应为json体时的某个key对应的值

pm.test("Your test name", function () {    var jsonData = pm.response.json();    pm.expect(jsonData.value).to.eql(100);});

4、断言响应时间(响应时间小于200ms)

pm.test("Response time is less than 200ms", function () {    pm.expect(pm.response.responseTime).to.be.below(200);});

八、Postman 自定义变量如何做?

在Pre-request Script中通过JS定义变量,配置成全局变量,所有接口都能使用

九、Postman 你使用过哪些内置变量?

$randomInt 1至1000之间的随机整数

$randomUUID 随机的36个字符的UUID

$timestamp 当前UNIX时间戳(以秒为单位)

$guid 一个uuid-v4风格GUID

$randomPassword 随机的15个字符的字母数字密码

$randomPrice 100.00至999.00之间的随机价格

$randomWord 随机词

$randomLoremText 随机数量的文本

十、Postman 如何做持续集成?

导出Postman脚本、环境变量、全局变量等到指定的文件夹

安装Newman,并执行对应的命令 newman run 用例文件路径 -e 环境变量 -g 全局变量 -r生成报告

创建Jenkins任务,并配置Newman执行命令


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】