96SEO 2026-02-19 22:10 3
就是url地址中问号后面的部分这个就叫查询参数❤表单类型的接口❤json类型的接口❤含有上传文件的接口

所谓的查询参数其实就是URL地址中问号?后面的部分就叫查询参数比如http://cx.shouji.360.cn/phonearea.php?number13012345678
而这一部分是由键值对组成格式为key1value1key2value2,
在postman中实现对这类接口请求非常简单一般就需要明确俩个参数即可一个是请求方法一个请求地址。
打开postman新建一个请求。
在请求方法中选择请求方法GET,因为在postman中默认的请求方法就是GET,所以这一步可以忽略接口URL中输入地址点击Send按钮就可以发送请求了
说明查询参数在url中一般直接拷贝到输入的URL地址栏中就可以了使用问号如果有多个keyvalue则使用进行拼接当然也可以把查询参数在Params中输入俩者的效果是一样的在Params中输入进行勾选参数就会自动到url地址中在url地址中写参数参数也会自动在Params中生成如下图
在发送HTTP请求的时候一个请求中一般包含三个部分分别是请求行请求头请求体
定义的请求方法有8种GET、POST、PUT、DELETE等最常的两种GET和POST如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
②为请求对应的URL地址它和报文头的Host属性组成完整的请求URL
④是HTTP的报文头报文头包含若干个属性格式为“属性名:属性值”服务端据此获取客户端的信息。
⑤是报文体它将一个页面表单中的组件值通过param1value1m2value2的键值对形式编码成一个格式化串它承载多个请求参数的数据。
不但报文体可以传递请求参数请求URL也可以通过类似于“/chapter15/user.html?
不同的接口请求体的数据类型是不一样的比较常见的一种就是表单类型那么什么是表单类型呢
简单理解就是在请求头中查看Content-Type它的值如果是:application/x-www-form-urlencoded
如果在postman请求上图的接口我们只需要填写四个参数分别是
请求方法POST请求URLhttp://localhost/index.php?mHomecUserado_logint0.21942974229794432请求头Content-Typeapplication/x-www-form-urlencode代表请求体里面的数据类型为表单类型请求体
username13088888888password123456verify_code8888
其中问号后面的mHomecUserado_logint0.21942974229794432是属于查询参数在我们输入url后会自动把他填充到Params里面
。
在请求中设置以上四个参数点击Send按钮。
在postman中设置请求体类型为需要选择body-
在做接口测试时我们经常会遇到需要上传文件的接口比如微信的更新头像。
这就需要用到
multipart/form-data。
它也属于一种表单但它既支持表单请求也支持文件上传。
请求方法POST请求URLhttp://localhost/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html请求类型multipart/form-data请求体filea1.jpg
。
在请求中设置以上四个参数点击Send按钮。
注意在postman中设置请求体类型需要选择body-
请求头里面的内容他代表请求体的数据类型为json类型body请求体里面内容如下
}根据以上报文我们可以分析出我们在postman只需要填写四个参数即可具体如下
请求方法POST请求地址http://xxx/api/sys/login请求体类型json请求体数据{account:root,password:123456}
在请求中设置以上四个参数点击Send按钮。
注意在postman中设置请求体类型
响应数据是发送请求后经过服务器处理后返回的结果响应由三部分组成分别是
Cookies需要注意的是Cookies是包含在响应头中的但是为了明显工具会分开显示响应体
Body和Status是我们做接口测试的重点一般来说我们都会验证响应体中的数据和响应状态码Test
是我们做性能测试时可以根据这两个参数来对所测接口的性能做一个简单的判断。
接下来我们再来关注下Body中的几个显示主题分别是PrettyRawPreview
都是经过格式化的格式化后的数据看起来更加直观所以postman默认展示的也是这个选项。
比如返回html页面它会经过格式化成HTML格式后展示比如返回json那么也会格式化成json格式展示
原始数据一般都是本文格式的未经过格式化处理的一般在抓包工具中都有这个选项
Preview翻译成中文就是预览这个选项一般对返回HTML的页面效果特别明显如请求百度后返回结果点击这个选项后就直接能查看到的页面
当我们对一个或多个系统中的很多用例进行维护时首先想到的就是对用例进行分类管理同时还希望对这批用例做回归测试
。
在postman也提供了这样一个功能就是Collection
先想象我们要测试一个系统系统下有多个模块每个模块下有很多的被测接口用例
Collection在弹出的输入框中输入Collection名称这个就可以理解为所测试的系统新建模块文件、重命名等操作使用鼠标右键即可
当我们在一个Collection中编写了很多的接口测试用例想一起执行这批用例在postman中是如何操作呢
Runner的界面默认会把Collection中的所有用例选中
断言统计左上角的两个0是统计当前Collection中断言成功的执行数和失败的执行数如果没有编写断言默认都为0
重新运行点击它会把该Collection重新运行一遍。
New返回到Runner可以重新选择用例的组合
在做接口测试时经常会因为代码写的有问题导致报错这时通过查看日志就显得非常重要了postman也提供了这样的功能它允许我们在脚本中编写打印语句查看打印的结果
在postman中编写日志打印语句使用的是JavaScript编写的位置可以是Pre-request
或Tests标签中。
编写打印语句如console.log(“我是一条日志”)
搜索日志输入URL或者打印的日志就能直接搜索出我们想要的请求和日志这对我们在众多日志中查找某一条日志是非常方便的
。
按级别搜索可以查询log,info,warning,error级别的日志
总之通过这个功能我们在请求接口报错时通过打印响应的日志就能很轻松地找到问题原因了
如果没有断言我们只能做接口的功能测试但有了断言后就为我们做自动化提供了条件并且在postman中的断言是非常方便和强大的
断言编写位置Tests标签断言所用语言JavaScript断言执行顺序在响应体数据返回后执行
上面我们介绍到编写的断言代码是JavaScript那如果不会写怎么办
。
用的时候只需从右侧点击其中一个断言就会在文本框中自动生成对应断言代码块
接下来就让我们了解一些常用断言还是按响应的组成来划分分别是{状态行响应头响应体}。
{pm.response.to.have.status(200);
{pm.response.to.have.status(OK);
{pm.response.to.have.header(Content-Type);
pm.expect(pm.response.text()).to.include(string_you_want_to_search);
pm.expect(pm.response.text()).to.include(string)
获取响应文本中包含string断言响应体等于XXX字符串Response
pm.response.to.have.body(response_body_string);
pm.response.to.have.body(response_body_string);
获取响应体等于response_body_string断言响应体(json)中某个键名对应的值Response
pm.response.json();pm.expect(jsonData.value).to.eql(100);
pm.expect(jsonData.value).to.eql(100)
获取jsonData中键名为value的值然后和100进行比较5.3.5
pm.expect(pm.response.responseTime).to.be.below(200);
}断言响应状态码为200断言city等于济南断言update_time包含2020-04-17
总结整体来说如果用postman做接口测试这个断言功能必不可少其中我们常断言的响应体包含和JSON这俩个断言又是重重之重
变量可以使我们在请求或脚本中存储和重复使用其值通过将值保存在变量中可以在集合环境或请求中引用。
全局变量一旦申明了全局变量全局有效也就是说postman中的任何集合任何请求中都可以使用这个变量。
它的作用域是最大的
。
环境变量要申明环境变量首先的创建环境然后在环境中才能创建变量
。
如果要想使用环境变量必须先选择(导入)这个环境这样就可以使用这个环境下的变量了
。
集合变量集合变量是针对集合的也就是说申明的变量必须基于某个集合它的使用范围也只是针对这个集合有效
当在几个不同的范围内都申明了相同的变量时则会优先使用范围最小的变量使。
定义全局变量和环境变量点击右上角的小齿轮弹出如下界面就可以根据需求定义全局变量或者环境变量了
定义全局变量pm.collectionVariables.set(“变量名”,变量值)定义环境变量pm.environment.set(“变量名”变量值)定义集合变量pm.variables.set(“变量名”,变量值)
如果在请求参数中获取变量无论是获取全局变量还是环境变量还是集合变量获取的方式都是一样的编写规则{{变量名}}
Script)获取变量获取不同类型的变量编写的代码都不相同具体如下
获取环境变量pm.environment.get(‘变量名’)
获取集合变量pm.pm.collectionVariables.get.get(‘变量名’)
变量的使用场景非常广泛比如我们后面要提到的接口关联请求前置脚本都会使用到变量
Script中编写的JavaScript脚本想要了解这个功能需要先了解它的执行顺序。
那么下面就来看下它的执行顺序
主要场景一般情况下在发送请求前需要对接口的数据做进一步处理就都可以使用这个功能比如说登录接口的密码在发送前需要做加密处理那么就可以在前置脚本中做加密处理再比如说有的接口的输入参数有一些随机数每请求一次接口参数值都会发送变化就可以在前置脚本中编写生成随机数的代码
。
总体来说就是在请求接口之前对我们的请求数据进行进一步加工处理的都可以使用前置脚本这个功能。
请求的登录接口URL参数t的值要求的规则是每次请求都必须是一个随机数。
接口地址http://localhost/index.phpmHomecUserado_logint0.7102045930338428
总之这个前置脚本对我们做接口测试也非常有用对一些复杂的场景都可以使用前置脚本进行处理后再请求接口
这种关联在做接口测试时非常常见那么在postman中如何实现这种关联关系呢
提取上一个接口的返回数据值将这个数据值保存到环境变量或全局变量中在下一个接口获取环境变量或全局变量
/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg,title:
}而图像预览接口URL为http://localhost/public/upload/user//head_pic//ba51d1c2f7f7b98dfb5cad90846e2d79.jpg
。
可以看出这个接口的URL后半部分其实是上一个接口返回的url的值
获取上传头像接口返回url的值将这个值保存成全局变量(环境变量也可以)在图像预览中使用全局变量
可以看出接口的关联的解决方案都是用的是变量中的知识也就是说只要你明确了要提取的值后面就是保存该值然后在其他接口使用该值就可以了。
在做接口测试时请求接口返回的数据都是很复杂的json数据有着多层嵌套这样的数据层级在postman怎么获取呢
jsonData.data.user_id案例2json中存在列表获取points中的第二个元素
[point-user-delete,POINT-USER-UPDATE,POINT-USER-ADD]},authCache:
jsonData.data.roles.points[1]案例3列表中取最后一个元素
jsonData.data.rows.slice(-1)[0]本人在学习时做了简单的梳理和自己的理解附上博客便于大家查看和自己查阅尊重版权以下是原文链接
原文链接https://www.toutiao.com/article/6913538714060800515/
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback