Jmeter之接口测试

最近才入职新公司,好几天没有写博客了,通过一个朋友提醒,刚恰好以为用Jmeter来作接口测试真的是再好不过了。下面就详细讲解下这两天我利用Jmeter作的接口测试。html

【安装Jmeter】正则表达式

详细见博文:Jmeter+badboy环境搭建session

 

【接口测试之添加测试计划-线程组-sampler】测试

1.创建测试计划spa

   只要打开执行Jmeter.bat,就会有Jmeter的桌面运行界面出来,会自动创建一个测试计划,以下图所示:线程

 

2.添加完测试计划后,就要添加对应的线程组,全部的测试步骤都是在线程组下面执行的,以下所示:htm

添加完成后,就能够看到本身所添加的线程组了。blog

因为我是要测试多个接口,为了方便控制,我是为每个业务逻辑创建了对应的线程组。接口

 

3.根据本身测试的接口类型,创建对应的测试步骤,我这里就是HTTP接口,因此请求是基于HTTP的,因此要添加HTTP sampler,以下所示:文档

 

4.为了清楚每次测试时成功了仍是失败了,能够添加一个监控器,对测试内容进行监控,这里要添加的是-->察看结果树

点击右键-添加-监听器-察看结果树,添加完成后,以下所示:

 

 

【接口测试之添加测试内容】

下面会就我测试的一些例子来进行讲解,这里没有源码哦~公司的代码不能外传,嘻嘻。若是亲们有遇到须要进行接口测试的,进行相似的更改就能够了。

简单的传参接口测试

1.这里说的例子是发送短信验证码,详细的参数设置见下面截图说明:

新增了一个HTTP请求,

 

2.测试是否正确,点击Jmeter上面的绿色执行按钮,并同时打开察看结果树界面,以下所示:

这里看到返回的结果是ok,说明这个接口测试没有问题,短信验证码可以正常发送。

 

 

包含有全局变量的接口测试

有时咱们测试会遇到许多重复的参数,每次调用若是要一个一个去改的话,就比较麻烦,这里就能够用到一个办法:参数化。把全部你以为重复可是改起来又麻烦的,咱们能够创建一个用户参数列表。

这里我要讲的就是登陆功能:

1.添加一个HTTP请求,并填入对应的登录所需参数,具体能够根据大家本身的需求文档来传参哦~

这个跟上面说的发送短信验证码是同样的,都须要填好对应的必填内容以及参数名称和值。

2.你们可能注意到了,我这里在设置每一个属性的值时,都是采用的${}方式,这里就是我所说的参数化,因为这个是全局变量,全部线程组里面的请求都是能够用到的,因此就须要咱们添加一个全局变量:

 

因此须要注意的是,咱们引用参数值的方式为:${名称},第一步里面的userid 取值是${username},最后传进去的值就是 liuhaha这个值,看懂了么?这个就是参数的引用方法,下次你若是须要更名称,就不须要去每一个

http请求里面去改动了,直接在这个参数表里面改动就能够了,方便快捷。全局变量就要放在最前,不要包含在线程组里面,直接挂在测试计划下面就行了。

3.填完后,直接点击绿色按钮,运行就能够了。

 

包含有正则表达式的接口测试(也就是LoadRunner里面常说的关联)

1.新建一个HTTP请求,这里的登录就会产生一个sessionID,咱们进行密码修改时,就会验证这个sessionID,可是每次去填写也比较麻烦,因此咱们能够手动作一个关联。

上面的登录完成后,就会在结果树里面看到登录成功后会返回一个sessionid,如图所示:

红色框框内就是session值。

 

2.如何进行关联呢?跟LR同样,须要找准左右边界,能够看到这里的左右边界很好定义,session值得两端就是左右边界,最后作出的关联正则表达式为:

ulskey":"(.*?)","retmsg  --其中(.*?)就是咱们的session值。

 

3.这里定义对了,就须要创建一个正则表达式提取器,

添加完成后,就要把你第二步里面的正则表达式填进来,以下所示:

 

4.在修改密码的HTTP请求里面,引用这个必须传的session值:

  这里跟上面的引用全局参数是同样的,也是用${}方式

 

5.而后点击运行,就能够看到引用session成功了。

 

 

哈哈~写的有点仓促,下次还会再更新一篇关于Jmeter使用方法的文章。

相关文章
相关标签/搜索