美文网首页iOS开发实用技术
老薛带你了解自动化测试之接口测试(POSTMan)

老薛带你了解自动化测试之接口测试(POSTMan)

作者: 坑王老薛 | 来源:发表于2019-03-28 21:54 被阅读112次

简单的接口测试初识

自动化测试.png

一:接口测试(接口概念)

1.1 什么是接口?

接口是一种规范,方便我们在编写应用程序是需要注意的事项。是一套约定俗称的规则,主要可以方便宏观上整体把控整个项目。

PS:比如,当我们要对一个注册操作进行持久化操作的时候,我们需要规定整个模块的参数以及返回值的定义,方便程序员编写时按照既定约定进行开发,避免开发 的随意性。

1.2 接口的优势

1:统一设计标准2:前后端的开发相对独立3:对于今后的扩展性和维护性进
行提高4:前后端可以使用自己相对于较为熟悉的技术

1.3 如何定义接口?

1:接口是由架构师或者是项目Leader定义的2:前后端在编写的时候进行统
一约束和规范,作为开发人员的开发依据

二: 接口测试(接口测试概念)

2.1 什么是接口测试?

接口测试就是按照约定的规范,测试后端的实现是否符合规范。

2.2 为什么需要进行接口测试?

1:让程序更加安全2:让程序更加高效3:提高软件产品的质量

2.3 如何做接口测试?

模拟用户 客户向服务器发送请求,然后查看响应结果。

要素 内容
要素 定位服务器资源,通过URL实现(统一资源定位符)https://www.baidu.com http://localhost:8080
要素 模拟用户提交数据。比如通过get发送数据:uname=zhangsan&pwd=123
要素 查看响应结果和预期结果是否相同。

2.4 接口测试分类

类型1:Web接口测试(B/S架构项目)

​ |----服务器接口测试:自定义的接口测试

​ |----第三方接口测试:其它公司实现的接口测试

类型2:模块接口测试(C/S架构项目)

三:接口测试准备工作

3.1 插件安装

3.1.1 为什么需要安装插件?

是测试接口的一些测试工具,有一些测试工具直接跑在浏览器上,比如FireFox中的RESTClient,或者是Google的POSTman,还有一些直接比如Java开发的测试工具:JMeter。

测试工具功能比较强大,方便测试人员进行测试。

3.1.2 如何安装插件?

环境:采用的浏览器是Google浏览器,在Google浏览器下可以通过两种方式进行插件的安装:

​ |----- 在线下载拓展程序

​ |----- 下载好插件直接拖拽(https://www.cnblogs.com/whycxb/p/7126116.html)

常见的插件:拦截广告的插件 ,网盘下载不限速插件。

格式化JSON数据的插件,网页调试插件

3.2 RESTFul风格

3.2.1 什么是RESTFul风格?

RESTFul 风格:在开发和测试过程中遵守一定的规范,RESTFul就是若干了约束中的一种。

3.2.2 为什么需要RESTFul风格?

Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

当下常见的三种B/S架构的交互方案:

  • SOAP (Simple Object Access Protocol) 简单对象访问协议
  • XML-RPC 基于XML的远端程序调用
  • RESTFul (Representational State Transfer) 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTFul。

3.2.3 如何基于RESTFul进行测试?

针对于整个项目来说,就是基于数据的增删改查。RESTFul中定义个对于每项操作的3要素的要求:

  • 访问资源:post|put(标准)请求 url:http://localhost:8000/XXX/XXXX/XXXX
  • 请求参数:
    • 健=值&健=值。。。
    • JSON
  • 结果对比:200|201(标准)+ 已修改数据
  • 访问资源:get请求 url:http://localhost:8000/XXX/XXXX/XXXX
  • 请求参数:
    • 健=值&健=值。。。
    • JSON
  • 结果对比:状态码200 + 描述OK + 查询到的结果信息(一条或多条信息)

3.3 :JSON

3.3.1 什么是JSON?

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

其实和XML是并列的两种互联网传递数据的重要载体中的一种。

3.3.2 XML数据格式

<person>    
  <uname>        
    <first-name>三丰</first-name>        
    <last-name>张</last-name>    
  </uname>    
  <age>18</age>
</person>

3.3.3 JSON数据格式

{  
"person": {       
   "name": {           
       "first-name": "三丰",           
       "last-name": "张"      
    },       
   "age": "18"    
  }
}

1: JSON要比XML更加的简单

2: JSON的数据量要小于XML

3:XML数据的语义要比JSON更加的明确

4: 某些场景下JSON可以代替XML(Ajax),某些事无法代替的(数据量大)。

3.3.4 普通定义(JSON对象)

{  
   ##"健1":"值1","健2":"值2"... 
  "name":"zhangsan",   
  "pwd":"123"
}

3.3.5 数组定义(JSON数组)

[    ##"值1","值2"...    "张三","李四"]

3.3.6 复合定义(重点)

[ {  
  "uname": {
            "first-name": "三丰", 
             "last-name": "张"       
   },      
  "age": "18"   
 },   
 {        
"uname": {    
        "first-name": "无忌",   
         "last-name": "张"      
  },      
  "age": "18"  
  }]

四:使用POSTMan

要保证按照接口测试规范进行测试,抽离接口API,然后开始测试

image
  • 注意,如果你发送的请求参数包含json数据或者中,需要在headers中进行请求头设置
1553170514635.png
  • 如果包含请求参数,通过post发送时,在body中的raw中编写json数据即可发送。


    1553778848247.png
  • 最后查看测试数据,主要看返回结果以及应答码

相关文章

网友评论

    本文标题:老薛带你了解自动化测试之接口测试(POSTMan)

    本文链接:https://www.haomeiwen.com/subject/yrrhbqtx.html