| |
|
开发:
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 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |