Postman系列二:Postman中get接口实战讲解(接口测试介绍,接口测试流程,头域操作)
一:接口测试介绍
接口测试:就是针对软件对外提供服务的接口输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能和接口描述文档的一致性。
接口测试好处:接口测试通常能对系统测试的更为彻底,更高的保障产品质量,同时越早的发现底层问题,修改和维护的代价也越小。
怎样做接口测试:接口测试时主要通过工具或代码模拟http请求的发送与接收。工具如:postman、jemter、java+httpclient等。也可以用接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。
接口测试流程:1.获取接口信息:通过接口文档和抓包来获取接口的基本调用方式和返回;2.接口测试用例设计:根据获取到的接口信息,按照接口测试用例设计方法设计参数和预期返回结果;3.接口发包:用工具或者编程向接口传递参数;4:返回信息验证:获取接口返回的结果,进行解析和验证。
接口测试请求信息4大关注点:1.请求URL地址;2.Method方法;3.请求头域(Request Headers);4.请求参数(抓取信息中Query String Parameters对应Postman中Request Body)。
二:Postman get接口测试流程(以百度ip接口为例)
1.抓取百度ip接口信息,复制url地址等。
2.打开Postman,新建一个request(两种方式,刚开始打开的时候直接选择Requset或者打开Postman后直接选择+号),选择get方法,填写url(复制url后发现会自动填充url栏下面的Params参数项)等,发送请求,查看结果,经过多次测试发现ip接口中两个参数(query、resource_id)必备,其余参数可有可无。
3.对于百度ip接口,多试几条测试用例,与预期的结果做对比,发现两个必备的参数少了一个,会报参数错误,在ip前面多加一个.依然正确。
4.测试结束后可以保存到创建的测试集中,也可以将结果导出,导出的格式是json格式,可以将文件分享给同事朋友让他们使用Postman也进行文件导入。
三:Postman get接口头域操作
上面百度ip接口,发现不需要Headers信息,填了Referer也不会报错,但是有些接口缺少头域信息就会报错,得不到预期结果。在这里举例腾讯课堂评论接口,由于没有相关接口文档,就参考别的讲师测试的最后结果。
Referer介绍:正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。Referer 是 HTTP 请求header的一部分,当浏览器(或者模拟浏览器行为)向web服务器发送请求的时候,头信息里有包含 Referer。
Referer的作用:1.防止盗链;2.防止恶意请求。
四:Postman请求面板详解
1.Postman Request四大要素
对于Request Body选项解释如下:
form-data:对应于Content-type的multipart/form-data类型,即可以发送键值对也可以进行文件参数传递,对于文件传递每次发送请求需要重新传入不保存文件信息,键值对不写入url,而是直接提交。
x-www-from-urlencoded:对应于抓包信息中Content-type头域为x-www-form-urlencoded的类型,是以键值对的形式发送的表单参数,同时参数会携带在url中。
raw:选中对可以使用请求体原始格式编辑各Content-type类型对应的参数格式,直接按请求体的格式来进行内容发送。
binary:可以上传二进制文件内容。一次只能上传一个文件,也不能保存文件。
2.Postman Response相应信息
随机推荐
- MVC 中301永久重定向
public class PermanentRedirectResult : ViewResult { public string Url { get; set; } public Permanent ...
- HDU 2089 不要62(挖个坑=-=)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- R语言数据处理
写在前面:数据处理是数据分析与挖掘必不可少的步骤.下面列出一些常用的数据处理操作. 一.类型转换 用class()查看数据的类型,用as.类型名()进行类型转换. > num <- as. ...
- Notepad++编译c++时使用的代码
cmd /c "g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe $(FULL_CURRENT_PATH)" 出现控制台. NppExec ...
- ASP.NET跨平台
ASP.NET跨平台最佳实践 前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语 ...
- WPF在在设计模式,使用动态样式
1.问题分析 WPF有时候要用到主题样式,比如颜色主题(红色.黄色之类的)通常是key相同,而value不同,比如会这么写: Background="{DynamicResource Bac ...
- C#语言介绍
C#(读作“See Sharp”)是一种简单易用的新式编程语言,不仅面向对象,还类型安全. C# 源于 C 语言系列,C.C++.Java 和 JavaScript 程序员很快就可以上手使用. C# ...
- Spark Standalone spark-default.conf
Example: spark.master spark://master:7077 spark.eventLog.enabled true spark.eventLog.dir hdfs://name ...
- fcn训练及预测tgs数据集
一.背景 kaggle上有这样一个题目,关于盐份预测的语义分割题目.TGS Salt Identification Challenge | Kaggle https://www.kaggle.com ...
- [UE4]Event Tick
一.每一帧都会触发Event Tick事件,“Delta Seconds”参数表示当前帧说花费的时间 二.因为各种原因(比如卡帧等),每一帧所花费的时间并不是相同的