安装jmeter压力测试工具

1. 首先电脑安装好java环境

2. 下载安装jmeter压力测试工具:

点击 Download Releases 进入下载页面: http://jmeter.apache.org/download_jmeter.cgi

 

 

 

要选择 Binaries 的安装包:

 

 

jmeter界面设置为中文,永久中文
找到jmeter下的bin目录,打开jmeter.properties 文件
第三十七行修改为
language=zh_CN

 

安装Jmeter插件:

 

1、进入下载插件网页:https://jmeter-plugins.org/install/Install/ 下载plugin-manager.jar 并放在jmeter 的lib/ext文件夹下,双击jmeter.bat 重启Jmeter之后就会加载 JMeter Plugins Manager:

 

 

在菜单栏选择: 选项 > Plugins Manager ,打开插件管理器。

 

比如我们要安装新插件:Selenium/WebDriver Support, 具体安装操作:

 左下角是安装进度信息,经过漫长的安装等待之后,自动重启之后插件就会生效。

 再进入插件管理器之后就可以看到  Selenium/WebDriver Support 插件已经安装上了。

 

多个接口并联测试,列如场景:

串联的三个接口:

  • login登录 //生成token

  • 创建用户 //生成用户id

  • 删除用户 //拿到创建用户接口id, 并删除该用户

 

使用 JSON提取器 | 正则表达式提取器:

比如我们请求的接口响应内容返回: 

{"code":1,"msg":"success","data":{"username":"lajox"}}

 

右键HTTP请求 > 添加 > 后置处理器 > JSON提取器 或者 正则表达式提取器

 

 JSON提取器: 

 JSON提取器说明: 

Names of created variables: 名称 
JSON Path expressions:JSON表达式 
Match No.(0 for Random):匹配哪个,可为空即默认第一个 
Default Values:未取到值的时候默认值

 

正则表达式提取器:

 正则表达式提取器说明:

Apply to:应用范围(一般就选择默认的Main sample only),就算有重定向,一般也是提取最终那个请求的接口。
要检查的响应字段:样本数据源。
主体: 接口响应主体内容,一般要提取普通http响应结果的数据,都勾选这个。
信息头:响应头的所有内容。
Request Headers:请求头的所有内容。
  url:是对sample的url进行匹配,也就是查看结果树里请求内容的第一行url,不包含data里的请求参数(即只能匹配protocol(协议)+host+path+querystring,如:https://www.baidu.com/index.php?tn=monline_3_dg)。
  响应代码:http响应代码,如101,200,302,404,501等。
  响应信息:http响应代码对应的响应信息,例如:OK, Found(HTTP/1.1 200 Ok;HTTP/1.1 302 Found)。
引用名称:其他地方引用时的变量名称,名称只能是一个,引用方法:${test}

正则表达式:数据提取器,一般简单的通用语法就是:左边界(.*?)右边界,左右边界就是为了能准确定位到想匹配的内容,里面的'?'为非贪婪匹配,(非贪婪模式就是说在遇到第一个右边界后就停止匹配,这样就可以精确拿到想要的内容)。建议均使用非贪婪匹配,除非特殊情况。

模板:对应正则表达式提取器类型,样式为:$n$。若模板为:$0$,则为整个表达式匹配到的内容,就是包括小括号内跟小括号外的内容,即("Code":"0001","Desc":"值1","sortNo":1)。若模板为:$1$,则对应正则表达式中的第一个(.*?)所匹配的内容,即(0001) ,若模板为:$2$,则对应正则表达式中的第二个(.*?)所匹配的内容,即(值1),若模板为$1$$2$,则把2个(.*?)所匹配的内容拼接起来,即(0001值1)。取值方式可通过${test_g1}获取第一个匹配内容(0001),${test_g2}获取第二个匹配内容(值1)。
匹配数字:正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。当为 0 时,随机返回匹配的数据。当为 1 时,表示返回匹配结果数组的第一个元素。当为负数(-1,-2,-100都可以)时,表示返回全部元素,并且同时会返回一个元素总数的变量${test_matchNr},在引用时:通过${test_1}的方式来取第1个匹配的内容即(0001值11),${test_2}来取第2个匹配的内容即(0002值22),${test_2_g1}来取第2个匹配的内容中$1$内容即(0002)。
缺省值:匹配失败时的默认值。通常用于后续的逻辑判断,建议使用一些特殊含义的,比如0,NULL,ERROR等。

 

最后可以使用变量:${username} 来传递给下一个HTTP请求的传入变量参数了:

 

资料参考:

https://www.cnblogs.com/monjeo/p/9330464.html

https://www.cnblogs.com/stulzq/p/8971531.html

https://mp.weixin.qq.com/s?__biz=MzU3Nzc0MDYwMQ==&mid=2247483918&idx=1&sn=9be480faca457398dc2905dd2389c9f0&chksm=fd014858ca76c14eb00e53a47d07532abcd293b05b8d8ec029b27e38226bc32dab02009e618d&mpshare=1&scene=23&srcid=&sharer_sharetime=1568856469613&sharer_shareid=78e57c70551664f0ef7fdf4a79e675b1#rd

https://mp.weixin.qq.com/s?__biz=MzU3Nzc0MDYwMQ==&mid=2247483993&idx=1&sn=718621e9294c1a3269d457a2ec502a6d&chksm=fd01480fca76c1190d608b398b334031eb540f8891917e2fd83a5b0b14312f8285d8b2febea9&mpshare=1&scene=23&srcid=&sharer_sharetime=1564214462942&sharer_shareid=1e4fa6d6432c90c653be6cffc434f414#rd

posted @ 2019-12-26 12:06  php学习笔记  阅读(488)  评论(0编辑  收藏  举报