COOKIE请求
认证授权,记住用户的行为状态,存储在客户端
SEESION请求
存储在服务端
TOKEN请求
本质上是通过session原理实现的
称之为一个令牌
jwt
每次生成的token都是不一样的
Charles实战
查看网络请求: 1、浏览器的network 2、使用工具,如charles,fiddlen
打开工具,可以对指定页面进行性能测试,右键
POSTMAN实战
接口文档 YAPI
PostMan是⼀个客户端接⼝测试⼯具,使⽤该测试⼯具,可以管理多个接⼝测试⽤例,对于多个接⼝测 试⽤例的管理是通过集合来进⾏管理的。PostMan在研发体系当中应⽤⽐较⼴泛。其实再本质上,我们可以把PostMan的集合理解为测试套件,那么在⼀个测试套件⾥⾯可以包含多个测试⽤例,集合也是如此。在PostMan中,可以运⾏集合来执⾏集合⾥⾯所有的API的测试⽤例。当然使⽤PostMan的测试⼯具,可以完成API的⾃动化测试,以及⼿⼯测试
PostMan常用请求
发送GET请求
下⾯主要使⽤PostMan来发送GET的请求,该接⼝的请求⽂档具体为:
以下是 HTTP GET 请求和响应示例。所显示的占位符需替换为实际值。
GET /WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=string&userID=string HTTP/1.1
Host: ws.webxml.com.cn
在PostMan的请求具体可以为:
发送POST请求
application/x-www-form-urlencoded POST也是⽐较常⽤的请求⽅法,下⾯具体演示下在PostMan中POST请求⽅法的应⽤,接⼝⽂档的信息为:
POST /WebServices/MobileCodeWS.asmx/getMobileCodeInfo HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: application/x-www-form-urlencoded
Content-Length: length
mobileCode=string&userID=string
除了get请求,其他都需要设置请求头,否则会出错
x-www-form-unlencoded
xml
json
PostMan断言处理
在⾃动化的测试中,每个测试⽤例都必须得有断⾔,没有断⾔的测试⽤例是⽆效的,不管是⼿⼯的还是⾃动化测试的,只不过在⼿⼯中叫期望结果,在⾃动化测试中叫断⾔。这地⽅并不在乎称呼。我们还是以具体的案例为主,下面调⽤获取所有书籍的信息,调⽤后,返回的所有书籍为:
"user": {
"uid": "adGw32EcTpNmbYrN2mXCkA",
"telephone": "13484545195",
"username": "无涯",
"email": null,
"avator": "",
"date_joined": "2022-01-08T15:07:01.003115+08:00",
"is_active": true
}
那么我们需要验证返回的这些数据到底是对还是不对的,在PostMan的测试⼯具⾥⾯,编写这部分的主要主要是在 tests⾥⾯,具体如下:
下⾯我们针对返回的所有书籍信息,来进⾏接⼝的验证,编写的tests代码如下:
//获取到响应数据
*var* jsonData=JSON.parse(responseBody)
//输出
*console*.log(jsonData)
//验证username字段
tests["验证username字段"]=jsonData.user.username='无涯'
pm.test("Status code is 200", *function* () {
pm.response.to.have.status(200);
});
PostMan执⾏后,就会在Test Results⾥⾯显示接⼝执⾏的结果信息,具体如下:
PostMan参数传递
PostMan包含了强⼤的node.js的运⾏环境,所以在PostMan的tests中可以通过js的代码来解决请求参数的传递以及动态参数的处理。事实上,在API的⾃动化测试中,需要解决的是API之间的参数传递,而且这些参数很多时候都 是动态参数。这样通过js的代码能够很轻松的来解决这个问题。⼀般性的,登录成功后,服务端会返回token给客户端,下个请求需要带上token,这样才能够请求处理成功。那么在这样的⼀个案例中,就涉及到了token的原理 和它的实现思路,不过,在这⾥并不计划讲token的原理和思路,只单纯的说针对这种情况的解决思路,具体步骤如下:
客户端登录成功后
获取到客户端的响应数据后,在客户端的响应获取中获取token,并定义成⼀个变量
在下个API中,在请求头中调⽤该变量,调⽤变量的方式为{{变量}}
由于是在PostMan中,所以就需要按顺序执⾏,也就是说,先执⾏登录的接⼝⽤例,再执⾏登录成功后的接⼝
这里还是以测试平台为案例,我们先登录,⽣成token,然后在查看登录的时候,需要把这个变量传进去,我们先来看生成接口的信息:
下⾯来看在获取登录⾥⾯,就会调⽤这个变量的信息,具体如下:
注意:在关联中,针对执⾏,我们是在collections⾥⾯来进⾏执⾏。
Collections
在所有的单元测试框架⾥⾯(Junit,TestNG,Pytest,UnitTest)⾥⾯,都会存在测试套件的概念,测试套件可以把它简单的理解为每个测试⽤例的集合,在测试套件⾥⾯可以容纳很多的测试⽤例。在PostMan测试⼯具⾥⾯,可以使⽤ Collections,也就是集合,其实本质上就是测试套件的意思,我们⾸先来进⾏创建:
⽐如在上⾯中,我们把测试平台管理的接⼝测试⽤例都添加到测试平台API实战的集合⾥⾯,具体如下:
下⾯具体演示下collestions的执⾏,在集合中右键,点击Run collection,如下所示:
点击后,就会出现如下的截图信息:
在如上的截图中,点击Run测试平台API实战,就会开始执⾏,具体执⾏结果信息如下:
标签:请求,接口,套件,token,API,测试,PostMan From: https://www.cnblogs.com/Aurora--1/p/16725960.html