转载jmeter(十八)接口测试

jemeter接口测试主要步骤

1、添加线程组
2、添加http请求
3、在http请求中写入接口url、路径、请求方式、参数
4、添加查看结果树
5、调用接口、查看返回值

jemeter界面展示

简单例子说接口测试

1、获取学生信息

接口文档如下:

新增HTTP请求,输入服务器及路径,方法为get,添加参数stu_name,参数值小黑,点击运行

在查看结果树中查看结果:

2、登录

接口文档如下:

新增HTTP请求,输入服务器地址及路径,方法为post,添加两个参数名及参数值,点击运行

在查看结果树中查看结果:

注意:1、查看结果树中会保留之前运行的请求结果,如图,刚才执行的获取学生信息结果仍会显示,可通过界面清除按钮清除保留内容后,再重新执行

          2、点击执行时,所有启用的请求都会执行,若只想执行某些请求,则将不执行的禁用

3、添加学生信息-入参是json类型

接口文档如下:

添加HTTP请求,输入服务器地址和路径,方法为post,在body中写入参数名及参数值信息并执行

 

查看结果:

 

注意:在测试过程中,因为部分参数是必填,而部分参数非必填,则可以测试必填参数值未填写,结果如何,非必填参数未填写,结果如何

4、文件上传

接口文档如下:

 

 

 

新增HTTP请求,输入服务器地址和路径,方法为post,在files upload中输入文件路径和参数名,点击执行

在结果树中查看:

5、学生充值金币--cookie以及身份验证

接口文档如下:

新增HTTP请求,输入服务器地址和路径,填入两个参数名和参数值,执行

查看结果显示并未执行成功

原因:金币充值,需要在用户登录该系统的前提下才能操作,此时就要用到cookie

如图添加HTTP cookie管理器

在cookie管理器中填入以下信息

其中值得注意的是cookie值,取自之前登录接口里,用户名对应返回的sign值。设置完cookie后,再重新执行充值的请求,查看结果,充值成功

另外还要注意的一点,能够做充值操作的用户一定要有管理员权限,没有管理员权限,则也充值不成功

6、获取所有学生信息-header信息

接口文档如下:

新增HTTP请求,输入服务器地址和路径,方法为get

执行查看结果显示并未成功

原因:在获取所有学生信息时,需要知道从哪跳转来的,此时需要添加header信息。

如图添加HTTP 信息头管理器

按照接口文档输入key和value值

再次执行该请求,查看结果

 jemeter参数化使用

在调用接口的时候要填写参数,参数的值如果经常变化的话,就得每次去改,很麻烦,可以把经常变得值改成可以变化的,或者提前设置好一些值,这样调用的时候不用每次都要改值

1、用户定义的变量

像不常变化的服务器地址,很多接口的都一致,则可以方面管理该地址

如图添加用户定义变量

名称自定义,值写原本的服务器地址

然后将请求里使用该地址的地方都改为如下图所示

若之后地址变化了,只需要该用户自定义变量里的地址就可以

2、函数生成器

函数助手可以按照一些规则生成一些参数,比如随机数和取当前时间。

a. _Random

在指定范围内取随机数

点击选项,点击函数助手对话框,找到_Random函数,输入范围内最小值和最大值,点击生成按钮,会生成一个随机参数,如下图

 

将此参数复制,可用在如注册用户,要注册多个

 b. _time 取当前时间

在一些需要传时间的情况下使用,格式为:yyyy-MM-dd HH:mm:ss

同样是在函数助手对话框里,找到_time,写入时间格式,当然也可以不要时分秒,只要年月日,根据情况取舍

 

_time函数不写时间格式的时候,会获取时间戳,${__time(,)}
时间戳:从Unix元年到现在过了多少秒,精确到毫秒,可转换为时间

 

c. _UUID

 取唯一ID时可用,每次会生成一个随机的UUID,都是唯一的

3、从文件中读取

分为三个步骤:1、读取文件  2、取文件内容里面的参数,给一个名字   3、使用值

需要在线程组里加一个CSV Data Set Config,用来做前两部的操作

比如要注册多个用户,可以用文本文档先写好N个用户及密码数据,导入该数据,循环执行,注册多个用户

接口文档如下:

 

先新建一个文本文档,写入多个用户及密码,保存文档,如图

 

在线程组,右键添加->配置元件-->CSV Data Set Config,写入以下信息

在线程组中输入循环次数,一般可以设置为文本中增加的用户数,这样,循环结束,文本中的用户也全部注册结束

比如我输入循环次数为4,如下图

新增一个HTTP请求,输入服务器地址和路径,填入参数名及参数值,此时的参数值就是之前在CSV Data Set Config中配置的两个参数名,以${参数名}形式

执行该请求,在结果树中查看结果,因为循环了四次,所以结果显示四次注册信息

 jemeter关联

在之前的学生金币充值这个例子时,提到需要先获取登录的信息,取得登录用户名及sign值,sign值获取也可通过参数化,在其他请求时直接使用更方便。

在原本的登录请求下增加

并按如图填写

其中获取值的写法里,按照登录接口返回值

我们要取sign的值,sign是在login_info里面,所以写法就是$.login_info.sign,设置完成后,在cookie中将登录用户的sign值改成${sign},

这个sign是刚才设置的变量名

此时运行查看结果

posted @ 2018-10-25 15:28  远景style  阅读(384)  评论(0编辑  收藏  举报