高频Postman接口测试面试题

一、Postman在工作中使用流程是什么样的?
  • 新建集合管理
  • 根据接口所属的模块,在集合中不同模块下编写接口测试用例
  • 处理接口之间的数据关联操作
  • 添加环境变量
  • 在tests tab下中增加断言
  • 调试接口,确保接口能被正常调用
  • 批量运行用例或者导出通过Newman去运行生成html报告
二、你使用过Postman的哪些功能?
  1. 自动化测试

  2. Mock Server

  3. 请求调试

  4. 代理抓包

  5. 环境变量设置

  6. 用例导入与导出

  7. 生成在线API文档

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

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

1、创建environment

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

2、设置environment

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

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

四、Postman如何实现接口关联?
  1. 通过正则表达式提取的方式或json取值的方式,提取需要的参数

  2. 将参数设置为全局变量

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

五、Postman参数化有哪几种方式?
  1. 环境变量

  2. 全局变量

  3. 内置函数

  4. pre-scripts编写js脚本

  5. Collection 变量

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

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

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

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

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

复制代码
  1. pm.test("Status code is 200", function () {

  2. pm.response.to.have.status(200);

  3. });

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

复制代码
  1. pm.test("Body matches string", function () {

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

  3. });

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

复制代码
  1. pm.test("Your test name", function () {

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

  3. pm.expect(jsonData.value).to.eql(100);

  4. });

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 如何做持续集成?
  1. 导出Postman脚本、环境变量、全局变量等到指定的文件夹

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

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

相关推荐
测试人社区-小明6 分钟前
智能弹性伸缩算法在测试环境中的实践与验证
人工智能·测试工具·算法·机器学习·金融·机器人·量子计算
中冕—霍格沃兹软件开发测试7 小时前
边界值分析:功能测试中的精度利器
人工智能·功能测试·科技·测试工具·appium·bug
Wpa.wk10 小时前
自动化测试-鼠标+键盘操作 - Actions高级控件
java·开发语言·测试工具·自动化·计算机外设·actions·高级控件
我的xiaodoujiao11 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 32--开源电商商城系统项目实战--如何区分登录状态
python·学习·测试工具·pytest
镜水灵动12 小时前
redisTemplate执行lua脚本报错‘for‘ initial value must be a number
lua·springboot
我的xiaodoujiao14 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 33--基础知识 8--切换窗口句柄
python·学习·测试工具·pytest
卓码软件测评1 天前
第三方高校软件课题验收测试机构:【使用Apifox测试gRPC服务步骤和技巧】
网络·测试工具·测试用例
IMPYLH1 天前
Lua 的 Coroutine(协程)模块
开发语言·笔记·后端·中间件·游戏引擎·lua
2501_924064111 天前
如何测试接口最大并发量及推荐实用工具
测试工具
玩转数据库管理工具FOR DBLENS1 天前
DBLens:开启数据库管理新纪元——永久免费,智能高效的国产化开发利器
数据结构·数据库·测试工具·数据库开发