jmeter 学习笔记
察看结果树:JSON Path Tester、RegExp Tester(正则表达式)、XPathTester、JSON JMESPath Tester、Document
断言:响应断言、Xpath2 Assertion断言(一般使用返回是HTML页面的请求),断言需要添加断言结果
变量:1、添加-配置元件-用户定义的变量,使用${变量名}引用
2、添加-配置元件-CSV Data Set Config,文件格式可以使用:csv、txt文件
3、工具-函数助手对话框
3.1、CSVRead函数
点击生成,将${__CSVRead(/Users/wangyang43/Documents/jmeterws/test_data.csv,0)}输入的请求的参数中,如图二
图一
图二
3.2、RandomString函数,这是随机字符串的长度,还有哪些数据中随机产生数据,直接将生成的函数字符串添加到变量中即可${__RandomString(3,134567,)},变量参数中支持多个函数一起使用(如图二)
正则表达式:可以添加Debug Sampler (调试取样器)来查看请求的参数
提取的变量还是使用${引用变量名}来使用,如果是多的时候,可以使用${引用变量名_g1},${引用变量名_g2}来使用(可以在Debug Sampler中查看具体要使用的变量的下标)
引用名称:只后续需要引用的时候的变量名;
正则表达式:将要进行匹配的正则表达式;
模板:$1$ 表示正则表达式中第一个括号,有几个就写几个
匹配数字:0-表示随机,-1 表示全部
获取到全部参数以后,可以使用ForEach控制器去提取每个数据发起请求
Json提取器:适用返回结果为json串的类型
content:表示提取出来的值,赋值给的变量名
$.result.yinli:表示要提取出来键值对的键 的路径
0:表示提取的数量
存储测试结果:添加-监听器-保存响应到文件,循环多次会生成多个文件保存下来
jmeter测试结果写入到Excel:
1、需要jxl.jar 包,放到jmeter安装路径下的lib文件夹下
2、编写代码,将代码导出成.jar 存放到meter安装路径下的lib文件夹下
3、使用添加-取样器-BeanShellSampler(BeanShell 取样器),注入脚本
https://my.oschina.net/u/4394125/blog/3311053
jmeter录制脚本:
1、jmeter添加代理服务器,位置:测试计划上右键-添加-非测试元件-http代理服务器
设置端口,可以在requests filtering 中添加过滤条件,点击[添加建议排除]按钮可以过滤掉一下不必要的请求录制
2、浏览器配置代理、APP配置代理,服务器为电脑本机IP,端口则为:jmeter自己设置的端口
3、配置完毕即可操作进行录制,录制完毕需要剔除一下多余的请求和参数的配置(token、cookie等信息需要自己重新处理传递,个人觉得自己去写接口配置会比录制脚本更方便)
jmeter命令行模式,参考文档:
https://blog.csdn.net/qq_18298049/article/details/106044209
https://blog.csdn.net/qq_33801641/article/details/107219305
jmeter生成HTML报告解析:
https://blog.csdn.net/smooth00/article/details/100769262
jmeter连接MySQL数据库:https://blog.csdn.net/jiaweide123/article/details/83340157
jmeter连接mango数据库:https://blog.csdn.net/xiamu2217/article/details/109464262
jmeter连接Redis:https://blog.csdn.net/qq_32874697/article/details/99846390,https://www.cnblogs.com/zocymo/p/10437760.html
jdbc request参数介绍:https://blog.csdn.net/u012167045/article/details/72638507
Variable name of Pool:JDBC Connection Configuration 中配置的变量名称,直接使用不需要添加$和花括号
Query Type:
1、Select Statement-查询语句类型,Query中内容为一条查询语句,含有多条也只会执行第一条语句;
2、Update Statement-更新语句类型(包括增删改操作),Query中内容为一条查询语句,含有多条也只会执行第一条语句;;
3、Callable Statement-可调用语句,主要使用存储过程的方法;
4、Prepared Select Statement-适用多条查询语句;
5、Prepared Update Statement-适用多条更新语句;
6、Commit-当前连接状态中内容提交;
7、Rollback-当前连接状态中内容回滚;
8、Auto Commit(false)-指明不需要自动提交;
9、Auto Commit(true)-指明不需要自动提交;
10、编辑;
Query:输入SQL语句
Parameter values:数据的参数值
Parameter types:数据的参数类型
Variable names:变量名称,有多个的时候使用,隔开
Result variable name:存放查询结果的结果集
Query timeout(s):设置超时时间
Limit ResultSet:设置查询的条数
Handle ResultSet: 定义如何处理有callable statement语句返回的结果
Query中输入多条数据库语句:1、Query Type使用Prepared Select Statement、Prepared Update Statement 2、JDBC Connection Configuration中配置的Database URL数据库后面添加“?allowMultiQueries=true”
数据库数据中文乱码的问题:JDBC Connection Configuration中配置的Database URL数据库后面添加“?characterEncoding=UTF-8”
Query中输入多条查询语句,使用Prepared Select Statement 响应数据只会显示一条结果,如果需要显示多条查询的数据结果,使用 Callable Statement
1、Parameter values中可以添加引用的自定义变量${变量名},多数据之间用,隔开
2、Variable names中可以存储查询出来的字段结果值
3、Result variable name中存放的是查询结果的集合,[{查询的第一条数据},{查询的第二条数据}},{查询的第三条数据}}],每一条数据会以键值的形式存储(表列名1=值1,表列表2=值2),想要获取到相应的数据结果可以添加Beanshell Sampler来获取相应的数据(eg:columnValue=var.getObject(“Result variable name中输入的变量名”).get(0).get("表列名");将数据取出后再使用vars.put("name",columnValue)在jmeter中就可以使用name进行引用)
jmeter发送soap请求(webservice一般以wsdl结尾):
1、添加http请求,添加接口地址、方法选择post、路径、编码格式填写UTF-8,请求参数在Body Data中
2、配置元件-http信息头管理器中添加,Content-Type:text/xml;charset=UTF-8
jmeter中也有好多模板可以供参考使用
jmeter安装插件管理器、WebSocket Sampler取样器:https://blog.csdn.net/sltin/article/details/112490741 https://blog.csdn.net/qq_43422918/article/details/112511162
jmeter-plugins-dubbo插件下载:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/releases
dubble接口测试:https://www.cnblogs.com/zz-yy/p/11239968.html
dubbo有zookeeper和直连两种方式
仅一次控制器:只对循环数设置生效;
原文地址:https://blog.csdn.net/wangyang918/article/details/116150499
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。