IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> postman使用进阶 -> 正文阅读

[开发测试]postman使用进阶

一、何为接口测试

接口测试原理: 模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端再接收应答的一个过程;

接口测试范围: 接口的功能、性能、安全性。重点关注数据的交换,传递和控制管理过程,还包括处理的次数;

二、Postman的应用场景

1、基于http协议的rest架构接口;

2、支持https;

3、单接口测试;

4、接口抓包;

5、接口集自动化测试;

6、接口自动化持续集成测试

三、Postman的优缺点

四、Postman的结构?

基本的测试框架结构: 测试项目(project)-测试模块(testsuit)-测试用例(testcase)

Postman:Collection就相当于是Project,而Collection中可以创建不定层级的Folders,可以自己组织TestSuite。每个Request可以当做是一个TestCase或者Step

五、Postman的界面简介

界面操作详情介绍:https://www.realaction.cn/views/page2/3.html

(1)抓包

1、点击上图的设置代理按钮;

2、在弹出框中填写端口和存放的文件夹点击连接;

3、手机端设置代理;

4、在存放的文件夹中查看抓包 接口;

(2) Get请求

1、请求方式设为GET, 同时输入完整的url, 跟访问浏览器一样, 或者输入接口url, 点击“Params” 输入需要的key 以及value, 点击“Send”, 即可在 “Response” 中查看返回的结果; ?2、有些get接口需要headers;

(3)post请求

选择请求方式为post,输入请求的url,以及输入必要的"Authorization" , "header" 和"Body" 数据。post请求可以发送key-value, json格式,file等?

post请求可以有5种发送内容方式:

1、URI 传参:跟get接口方式相同;

2、Form-data 传参:即可上传传键值对也可上传文件;

3、x-www-form-urlencoded传参 :相当于url传参,只是没有长度的限制,只能上传键值对;

4、raw:目前使用最多的方式,可上传任意格式的文本,我们一般默认使用json;

5、binary 传参:一次只能上传一个文件;

?六、自动化相关

(1)全局变量和环境变量

环境变量: 用于定义不同的环境(一般是服务器地址/api版本/header信息等),作用域是当前环境 全局变量:可全局使用的变量 引用方式: {{variable_name}},可以在 url地址栏,Headers,body,Pre-request Script,Tests中引用 环境变量和全局变量的key值名称必须是唯一的

?

?环境(全局)变量的常用使用位置: 1)URL地址 2)使用GET方法时的Params的value值 3)使用POST方法时Body中value值 4)Header的value值

(2)postman中的动态参数设置?

应用场景:构建包含动态参数的request, request之间传递数据等 三种实现方式:

1.Postman有以下内建变量,适合一次性使用 ? ?①{{$guid}}//生成GUID ? ② {{$timestamp}}//当前时间戳 ? ?③{{$randomInt}}//0-1000的随机整数

2.参数依赖上一个请求的返回 ? ? 上个请求的Tests里提取参数存环境变量,这个请求里用{{变量名}}取值

3.参数每次都不同,但之后的断言或别的请求里可能还要用 ? ? 在Pre-request Script里写代码处理,存为环境变量,参数里用{{变量名}}取值

第2和第3中方式说明: ? ?1. 在发送request之前,编写pre-request script,定制化request; ? ? ? 2. 收到response之后,用test script,处理返回的数据; ?流程:

?相关:动态参数都是使用环境变量或全局变量的方式

常用的提取方式举例:

登录接口提取uid和token:

1、在tester中定义: var data = JSON.parse(responseBody);//定义data读取返回的json postman.setEnvironmentVariable(“uid”, data.result.userid);//把userid读取出来赋给环境变量 uid postman.setEnvironmentVariable(“token”, data.result.token);//把token读取出来赋给环境变量 token

2、运行后查看环境变量:

3、其他接口中使用:

(3)常用tests断言语法?

?1、判断接口状态码: Tests["Status code is 200"] = responseCode.code = 200;

2、检查response是否包含一个字符串: tests["Body matches string"] =responseBody.has("true"); 3、检查response是否等于一个字符串: tests["Body is correct"] = responseBody === "response_body_string";

4、检查JSON值: var data = JSON.parse(responseBody); tests["Your test name"] = data.value === 100;

5、响应时间在一个特定的范围内(包括下限和上限): tests["Response time is acceptable"] = _.inRange(responseTime, 100, 1001);

6、将xml体转换为JSON对象: var jsonObject = xml2Json(responseBody);

更详细的介绍:https://blog.csdn.net/qq1124794084/article/details/78049456

(5)runner

1、用例集(collection)选择;

2、环境变量选择;

3、执行次数,注意:当选择本地数据时,这个执行次数会根据本地数据的条数自动更新的

4、间隔时间;

5、日志打印级别选择;

6、可以选择加载一个 CSV/JSON的数据文件,通常作为本地参数使用;

(6)团队协作

1、支持collection的导入导出,json格式;

2、支持环境的导入导出,json格式;

3、导出用例至各种编码格式;

4、导出运行结果,json格式;?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:41:37  更:2021-11-20 18:43:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:34:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码