Jmeter接口测试+压力测试( 二 )


jmeter关联可以通过二种方式来完成,获取到返回结果中指定的值 。它们分别是正则表达式提取器、 json path extractor 。
(1)正则表达式提取器
若想获取的返回值未匹配到,可以把正则表达式两边匹配的数据扩大点 。

Jmeter接口测试+压力测试

文章插图
 
a. 关于正则表达式
():括起来的部分就是要提取的 。
.:匹配除换行外的任何字符串 。
+:代表+号前面的字符必须至少出现一次(一次或多次) 。
【Jmeter接口测试+压力测试】?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次) 。
:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)
(.*):贪婪模式,匹配尽可能多的字符
(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了 。
b. 关于模板
若想提取多个值的话,比如是a和b这两个值,则可以写成:$1$$2$ 。无论要提取多少个值,引用名称就是一个的,比如名称为id,${id_go}:获取整个字符串ab,${id_g1}:获取的是a,${id_g2}:获取的是b 。
下面有一个具体的实例,如下图所示:
Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 
(2)json path extractor
jmeter通过安装json path extractor插件来处理json串,提取json串中的字段值 。插件的下载地址:
https://jmeter-plugins.org/?search=jpgc-json,下载完成,解压后,直接把lib文件夹放到jmeter相应目录下面 。特别说明:jmeter 2.xx左右的版本尝试过无法使用该插件,在jmeter 3.xx左右的版本装完插件后能正常使用 。
需要在请求下创建后置处理器-jp@gc-JSON Path Extractor,具体的实例如下所示:
Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 
关于json path相关插件的方法和使用,推荐可以看这篇博客:
http://www.jianshu.com/p/56a607fc0d8f
jmeter 操作数据库
操作数据库基本有四个步骤:(1)导入MySQL的jdbc的jar包 (2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration (3)线程组里添加jdbc request,写sql语句 (4)添加察看结果树,点击启动按钮,就能看到执行的SQL 。具体的实例如下截图所示:
Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 

Jmeter接口测试+压力测试

文章插图
 
特别说明:jmeter还可以操作oracle、postgreSQL、msSQL、mongodb等等数据库,同时不同的数据库,JDBC Connection Configuration填写的Database url格式和JDBC Driver驱动名称也不相同 。jmeter数据库驱动列表如下表所示:
Jmeter-
Jmeter接口测试+压力测试

文章插图
 
webservice接口脚本基本步骤:
(1)先需要通过soapui工具获取到webservice接口的请求地址、请求报文和请求soapaction 。
(2)jmeter新建一个线程组
(3)线程组下建立SOAP/XML-RPC Request,写入请求url、请求报文、请求soapaction 。
(4)启动jmeter,调用接口,通过察看结果树查看返回值 。
soapui获取信息的实例如下图所示:
Jmeter接口测试+压力测试

文章插图
 
  soapui提交完后,点击raw,可看到soapation,有些接口若没返回soapation,则jmeter里也就不用填 。
Jmeter接口测试+压力测试

文章插图
 
   jmeter-webservice脚本实例如下图所示:
Jmeter接口测试+压力测试

文章插图
 
压力测试
压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口 。压测时间,一般场景都运行10-15分钟 。如果是疲劳测试,可以压一天或一周,根据实际情况来定 。


推荐阅读