【Postman】

一、接口测试


1、什么是接口 ?
电脑:USB,投影机( 数据传输 )
软件:统称APl,application,program,interface,微信提现和充值,支付宝支付,银联支付接口。(鉴权码: token.key,appkey)
接口包括:内部接口和外部接口
内部接口: 开发人员自己开发的对自身系统提供的接口
外部接口:开发系统调用外部的,微信,支付宝,其他的接口总结:接口就是软件提供给外部的一种服务。用于做数据传输。

2、软件为什么需要接口 ?
因为接口能够让内部的数据被外部进行修改


3、我们为什么要做接口测试 ?
(1)现在很多系统都是前后端分离,开发的进度不一样,需要把一开始开发出来的接口进行测试mock
(2)基于安全考虑,前端有验证很容易绕过,直接请求接口,特别:身份证信息,银行卡,金钱交易(3)测试推崇的是测试左移,测试尽早的介入。


接口测试的本质:就是测试接口能否正常的交互数据,权限控制以及异常场景

二、接口返回教据和JSON详解

1.json格式:三组数据(80%) 

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

error code:错误码,0代表成功,msg:对错误码的中文说明
data: 真正的返回的数据
1.json就是一种数据类型,整形,小数,字符串。

2.JSON由两组数据组成

MAP对象,键值对,{key:value,key:value]

数组:[value1,value2,value3]


2.html格式
<htm>
        <title></title>
        <body>
        <error code>0</error code>

        ............
       </body>
</htmI>

 3.xml格式
<?xml?version="1.0" encoding="utf-8*

                              <error_code>0</error_code>

                               ............
</xmI>

三、接口测试协议


1.webservice协议: 接口地址: http://.......................?wsdl
http://192.168.12.1:8080/adduser

http//192 168 12 18080/deluser

http://192168 12 1:8080/upduser

http://192.168.12.1:8080/seluser
soap协议,wsdl
restfu规则 :
get获取数据,post提交数据,put修改数据delete删除数据 
 .http//192.168.12.1:8080/user
2.dubbo协议: 接口地址以dubbo://......
适用于少量数据的传输。大并发。
3.http协议:接口地址:http:// ............80%

https=http+ssl安全传输协议 (端口:443 )      http:端口80
什么是http协议 ?

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

请求: get,post,put,delete
响应: 1XX信息,2XX成功,3XX重定向( 跳转不传值 ),4XX客户端错误,5XX服务器错误

四、企业接口测试的流程和方案?
1.拿到api接口文档,熟悉接口的业务,接口地址,鉴权,入参,出参,错误码
2.接口计划和方案
思路:
正例:输入正常的入参,查看接口是否返回成功反例:
        鉴权反例:鉴权为空,鉴权码错误,鉴权码已过期...
        参数反例:参数空,参数类型异常,参数长度异常
                       错误码的覆盖。
        其他场景:分页异常。
3.编写用例和评审
4.使用postman执行接口测试
5.Postman+Newman+Jenkins实现持续集成,并且发送邮件输出接口测试报告

面试题
Get请求和Post请求的区别:
1.get请求一般是获取数据,post请求一般的提交数据
2.post请求比get请求安全
3.本质区别是传参的方式不一样 :
get请求在地址栏后面以? 的方式传参,多个参数之间用&分隔;post请求是在body以表单的方式传参。

五、Postman的环境变量以及全局变量-----解决多种环境开发环境,测试环境,生成环境

六、Postman的环境变量以及全局变量
环境变量: 环境变量就是全局变量           全局变量:全局变量是能够在任何接口里面访问的变量
获取环境变量和全局变量的值通过 :{{变量名}}

七、接口关联----将经常使用的变量设置为全局变量
1.使用json提取器实现接口关联

第一个接口:
console.log(responseBody);
//使用json提取器提取accesss_token值。
//把返回的字符串格式的数据转换成对象的形式。
var result = JSON.parse(responseBody);
console.log(result.access_token);
//把access token设置为全局变量
pm.globals.set("access_token",result.access_token);

第二个接口:
{{access_token}}

2.使用正则表达式提取器实现接口关联
 

第一个接口:
//使用正则表达式提取器实现接口关联,match匹配。
var result = responseBody.match(new RegExp(""access_token":"(.*?)'
console.log(result[1]);
//设置为全局变量
pm.globals.set("access _token",result[1]);

第二个接口:
{{access _token}}

八、Postman内置动态参数以及自定义的动态参数
postman内置动态参数:
{{$timestamp}}  生成当前时间的时间戳。
{{$randonInt}}   生成0-1000之间的随机数
{{$guid}}           生成速记GUID字符串

内置动态参数无法做断言,需要使用自定义的动态参数

九、测试其他接口
十、Postman断言-----常规的6种断言
Status code:Code is 200 检查返回的状态码是否为200

Response body:Contains string 检查响应中包括指定字符串

Response bodyJson value check 检查响应中其中json的值

Response body : is equal to a string 检查响应等于一个字符串

Response headers:Content-Type...检查是否包合响应头Content-Type

Content-TyResponse time is less than 200ms:检查请求耗时小于200ms

十一、Postman批量运行测试用例
十二、Postman数据驱动之CSV文件和JSON文件的处理
十三、测试必须带请求头的接口
常见的请求头:
Host:请求的主机地址
Connection:连接方式
Accept:客户端接收到的数据格式
X-Requested-With:异步请求
User-Agent:客户端的用户类型
Referer:来源  
Cookie:信息
Content-Type :请求内容的格式

十四、Postman接口Mock Server服务器
mock 模拟
后端的接口还没有开发完成,前端的业务需要调用后端的接口

十五、Postman的Cookie鉴权
什么是cookie ?
cookie是一小段文本,格式key=value。
cookie鉴权的原理:
1.当客户端第一次访问服务器的时候,那么服务器就会生成Cookie信息,并且在响应头的set-cookie里面把生成的cookie信息发送给客户

十六、Postman实现接口的加密和解密
1.目前市面上的加密的方式
对称式加密:DES,AES,Base64加密算法
非对称加密:双钥(公钥,私钥,公加密私钥解密,私加密公钥解密)加密,RSA加密算法不考虑解密:MD5,SHA1,SHA3
2.Postman如何实现加密和解密
MD5最广泛

十七、Newman(需要安装)
postman是专为接口测试而生。newman是专为postman而生。newman可以让postman的脚本通过非GUI ( 命令行)的方式

运行命令: newman run

常用参数 :
    -e  引用环境变量
    -g  引用全局变量
    -d  引用数据文件
    -n 指定测试用例选代的次数
    -r cli.html,json,junit --reporter-html-export     指定生成HTML的报告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值