首页 > 其他分享 >接口测试(二)

接口测试(二)

时间:2022-09-24 16:55:15浏览次数:52  
标签:请求 接口 套件 token API 测试 PostMan

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

相关文章

  • 关于 SAP UI5 SimpleForm 控件里的 ColumnsL 和 labelSpanXL 的测试
    测试情况罗列如下:label和columns为1:1的情况下:结果:Label改为2:此时第三行的Label,ZIPCode/City终于可以显示完全了:进一步扩大Label值为3:1如果是3:3......
  • Java8提供的函数接口
    目录参考资料函数接口1.Function<T,R>2.Predicate3.Supplier4.UnaryOperator参考资料https://docs.oracle.com/javase/8/docs/api/函数接口Java提供的函数接口......
  • [FLET] 02 route 测试
    fromtypingimportDictimportfletfromfletimportAppBar,ElevatedButton,Page,Text,View,colorsclassview_fam:def__init__(self,page:Page)->N......
  • 20220923测试总结
    P3216[HNOI2011]数学作业原题链接题目分析细心的话你是能够看出以下递推式的(我不够细心):\[F_n=F_{n-1}+10^k+n\]其中\(k=\lfloor\log_{10}n\rfloor\)硬性递推\(O(n^......
  • 测试highlighter语法高亮
    一些Highlighter参数简介:<divclass="cnblogs_Highlighter"><preclass="brush:cpp;//指定编程语言,以此来决定代码着色规则title:null;//设置显示在被着色代码块上方......
  • 国内多地测试网站访问速度
    有时候我们项目在本地域挺快的,但是在国内其他地方就比较慢这个时候可以使用下面的网站测试,能测试其他地方的访问速度https://www.17ce.com/ 我的在线客服系统效果如图......
  • API接口
    一、前后端开发模式#以前开发项目是前端写好静态文件然后后端再用模板语法套到这个静态文件中之后衍生出了全栈开发就是前端后端都一个人写#然就现在逐渐开始前......
  • API接口与drf规范
    前后端开发模式1.前后端混合前端写好静态html页面,后端使用模板语法进行渲染,然后在在对接,遇到问题返回给前端进行修改,这要求后端人员会一些HTML、JS等前端语言,这种模式让......
  • 接口基础
    1、什么是API接口?简单来说,接口就是系统或模块之间相互连接的部分,就称为接口。在软件测试中,我们可以理解为url就是一个接口,如:https://www.baidu.com/由客户端(浏览器)发......
  • 前后端开发模式、API接口、接口测试工具postman、restful规范、序列化和反序列化、dja
    目录前后端开发模式一、两种模式1.传统开发模式:前后端混合开发1.1.缺点:2.前后端分离开发模式2.1.特点3.补充老刘的相关博客:二、API接口1.作用2.说明三、接口测试工具postm......