一:接口测试介绍

  接口测试:就是针对软件对外提供服务的接口输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能和接口描述文档的一致性。

  接口测试好处:接口测试通常能对系统测试的更为彻底,更高的保障产品质量,同时越早的发现底层问题,修改和维护的代价也越小。

  怎样做接口测试:接口测试时主要通过工具或代码模拟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相应信息

  

随机推荐

  1. MVC 中301永久重定向

    public class PermanentRedirectResult : ViewResult { public string Url { get; set; } public Permanent ...

  2. HDU 2089 不要62(挖个坑=-=)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. R语言数据处理

    写在前面:数据处理是数据分析与挖掘必不可少的步骤.下面列出一些常用的数据处理操作. 一.类型转换 用class()查看数据的类型,用as.类型名()进行类型转换. > num <- as. ...

  4. Notepad++编译c++时使用的代码

    cmd /c "g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe $(FULL_CURRENT_PATH)" 出现控制台.  NppExec ...

  5. ASP.NET跨平台

    ASP.NET跨平台最佳实践 前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语 ...

  6. WPF在在设计模式,使用动态样式

    1.问题分析 WPF有时候要用到主题样式,比如颜色主题(红色.黄色之类的)通常是key相同,而value不同,比如会这么写: Background="{DynamicResource Bac ...

  7. C#语言介绍

    C#(读作“See Sharp”)是一种简单易用的新式编程语言,不仅面向对象,还类型安全. C# 源于 C 语言系列,C.C++.Java 和 JavaScript 程序员很快就可以上手使用. C# ...

  8. Spark Standalone spark-default.conf

    Example: spark.master spark://master:7077 spark.eventLog.enabled true spark.eventLog.dir hdfs://name ...

  9. fcn训练及预测tgs数据集

    一.背景 kaggle上有这样一个题目,关于盐份预测的语义分割题目.TGS Salt Identification Challenge | Kaggle  https://www.kaggle.com ...

  10. [UE4]Event Tick

    一.每一帧都会触发Event Tick事件,“Delta Seconds”参数表示当前帧说花费的时间 二.因为各种原因(比如卡帧等),每一帧所花费的时间并不是相同的