接口测试-Postman

一、接口测试

1、简介

测试系统 组件接口之间 的测试, 让系统内部的数据被外部进行修改

验证系统能否正常数据交互、是否有权限控制。

电脑:USB、投影仪(数据传输)

  • 外部接口:被测系统和外部系统之间的接口,第三方接口(只需测试正向用例)。如电子商务调用支付宝的支付接口。  
  • 内部接口:
  1. 内部接口只提供给内部系统使用。(只需要测试正向用例)
  2. 内部接口提供给外部系统使用。(测试全面,正反用例,异常场景,权限)

为什么要进接口测试?

1.系统前后端分类,开发进度不一致,开发完成的接口可以进行测试。 

当前端开发完成,后端未完成,需要建立mock模拟接口

2.安全性

3.测试尽早介入

接口返回数据类型

1.json格式:三组数据

{error_code:0,msg:"提现成功",data:[]}

error_code:错误码,0==成功

msg:对错误码的解释

data:返回的数据

  • json是一种数据类型
  • json格式 由两组数据组成:数组[vlaue1,value2,vlaue3....]、MAP对象即键值对[key:value,key:value]
  • json格式校验工具 www.bejson.com  可用于校验json格式、接口的加密、解密

2.html格式:

<html>
    <title></title>
    <body>
       <error_code>0<error_code>
       ...
    </body>
</html>

3.xml格式

<?xml?version="1.0" encoding="utf-8">
      <error_code>0</error_code>
      ....
</xml>

接口协议

1.webservice协议(通信协议:soap协议):接口地址(特征)http://..............?wsdl

restful规则:地址相同,请求方式改变

get获取数据、post提交数据、put修改数据、delete删除数据

2.dubbo协议:接口地址以dubbo://.......

长连接异步通信,适用于少量数据传输。可承载大并发

3.http协议:接口地址http://......

https=http+ssl安全传输协议:端口443

http:端口80

面试中常见问题: 什么是http协议?

超文本传输协议,主要用户浏览器和服务器之间交互数据,交互有两个部分,

  • 请求:get、post、put、delete
  • 请求包含内容:
  1. 请求行-请求方式、请求地址、协议
  2. 请求头-(accept)客户端可以接收的数据、(x-requested-with)异步请求、User-Agent(客户端的用户)、(Host)请求的主机地址、(cookie)请求cookie信息
  3. 空一行
  4. 请求正文
  • 响应:1xx信息,2xx成功,3xx重定向(跳转页面不传值),4xx客户端错误,5xx服务端错误
  • 响应包含内容:
  1. 响应行-协议、响应码、响应信息
  2. 响应头
  3. 空一行
  4. 响应内容

2、测试流程

(1)了解:api文档(抓包获取),熟悉接口业务、地址、鉴权方式、入参、出参、错误码。

(2)接口计划和方案

(3)编写用例及评审

  1. 正例:输入正确参数,接口成功返回数据
  2. 反例:
  • 鉴权反例:鉴权码(token、key、appkey)为空、错误过期、失效等情况是否能够访问接口
  • 参数反例:参数为空、类型异常、长度异常
  • 错误码覆盖
  • 其他错误场景:接口黑名单用户、调用次数、分页场景等。

(4)postman执行测试

(5)postman+newman+Jenkins实现持续集成,并且输出测试报告发送邮件。

3、接口测试工具

postman、jemter、soapUI,apipost、fiddler、charle

二、关于Postman

Postman是一个接口测试工具,在做接口测试中相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,

从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。

它主要是用来模拟各种HTTP请求,如:get/post/delete/put等等。

1、请求页面

params:get请求传参

authorization:鉴权

headers:请求头

Body:post请求传参

         none:没有参数

         form-data:既可以传键值对参数也可以传文件

         x-www-from-urlencoded:只能传键值对参数

         raw:json、text、xml、html、JavaScript

         binary:将文件以二进制的方式传参

pre-request-script:请求之前的脚本

tests:请求之后的断言

cookies:用于管理cookie信息

2、响应页面

Body:接口返回的数据

         pretty:以json、html、xml...不同格式查看返回的数据

         raw:以文本 方式查看返回的数据

         PreView:以网页方式查看返回的数据

cookies:响应的Cookie信息

headers:响应头

TestResult:断言结果

面试常见问题: Get请求和Post请求的区别?
  • (1)get请求一般是获取数据、post请求一般是提交数据
  • (2)post请求比get请求更加安全
  • (3)传参方式不同(本质区别):
  •         get请求在地址栏后以?的方式传参,多个参数用&分隔
  •         post请求是在body以表单的方式传参。

三、Vs Code Postman扩展

安装后会出现Postman图标,可以根据情况登录或创建账号。

在浏览器界面登录成功后会弹出对话框,在vscode中打开postman

四、Postman应用

1.创建Collection

点击+可以创建新的Collection

Collection

  • 用例分类管理,方便后期维护

  • 可以进行批量用例回归测试 。

2.创建请求 

3.设置HTTP请求

选择请求方式,并输入url

post请求 参数在url后加?跟参数,不同参数用&隔开

get请求  参数化在body中form-data中进行设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lucky77.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值