随笔分类 - Jmeter
摘要:拟定id为变量,通过json提取器$..id进行id_ALL的获取: Id_ALL=53,55,56 增加JSR223后置处理器: // 获取提取的数据 def data = vars.get('id_ALL').split(',').collect { it as int } // 按大小排序 d
阅读全文
摘要:${__javaScript(${var}/2+1)} 新变量的值为将变量var除以2再加一。 再引用之前例子: $..data[?(@.id=="${__javaScript(Math.max(${testjob_id_ALL}).toFixed(0))}")].status Math.max取字
阅读全文
摘要:如上图中的${__P(login_token)}若要能够被正常使用,需要在该线程组之前进行setProperty定义。全局属性定义推荐两种方式: 【1】增加调试取样器,在调试取样器的名称中定义setProperty; 【2】若为了美观而想在调试取样器中的注释中定义setProperty,则必须在该调
阅读全文
摘要:根据JsonPath的官方文档:GitHub - json-path/JsonPath: Java JsonPath implementation 即下图: 若需要对既有的json内容进行模糊匹配,需要使用以上多种方式,但是更建议使用正则匹配的方式。 $..results[?(@.name=~ /.
阅读全文
摘要:在使用CSV组件获取测试数据时,需要根据实际情况选择文件编码,不能认为需要固定选择UTF-8。 以上的选择针对文件内容编码为非UTF-8的就会出现乱码情况,如ANSI的。 此时需要去掉文件编码选项,留空即可:
阅读全文
摘要:好久不更新博客园的文章了,2023已经到了尾声,这一年发生了太多的事情。希望明年越来越好吧,虽然目前整个世界的经济和政治形式都不太行,但是还是需要有点期待。 对于Jmeter的各种控制器而言,并没有给出一个简便的判断某变量是否为空的情况,这里给出一个方案: 【1】使用_matchNr后缀即可,结合j
阅读全文
摘要:将JmeterBase64-1.0-SNAPSHOT放置到\lib\ext下即可: 直接使用即可。 制作方式: Jar包通过IntelliJ IDEA创建maven工程后,导出package:
阅读全文
摘要:路径为/lib/ext/jmeter-plugins-manager-1.7.jar 放置即可打开插件管理器: 搜索Custom JMeter Functions后自动下载安装即可:
阅读全文
摘要:通过下载:org.python : jython-standalone : 2.7.2 - Maven Central Repository Search jython-standalone-2.7.2.jar放置到\lib\ext下即可: 打开JSR223取样器即可选择python或者jython
阅读全文
摘要:对于某些请求,无法通过保存响应到文件这个组件来进行保存(会出现UNKNOW文件类型)。 那么就可以通过BeanShell后置处理程序来进行将响应结果直接输出到文件,并可以直接指定文件名和后缀。 import java.io.*; byte[] result = prev.getResponseDat
阅读全文
摘要:通过添加while控制器,可以实现条件+循环判断,使while控制器内的子线程根据之前线程的返回(while控制器内外变量皆可)进行触发+循环的控制。 原理如下:通过Condition判断条件语句是否为真,此处需注意和if控制器的机制不同。 If控制器只需要比对基本数值,而while控制器则需要比对
阅读全文
摘要:首先运行jmeter,增加后端监听器,(注意实现方式选择:InfluxdbBackendListenerClient),几秒钟后检查InfluxDB: influx show databases use jmeter show measurements 运行jmeter,进入Grafana中配置好的
阅读全文
摘要:sudo wget https://dl.influxdata.com/telegraf/releases/telegraf-1.12.4-1.x86_64.rpm sudo yum localinstall telegraf-1.12.4-1.x86_64.rpm sudo vim /etc/te
阅读全文
摘要:sudo mkdir /usr/local/influxdb wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10.x86_64.rpm sudo yum localinstall influxdb-1.7.10.x86_6
阅读全文
摘要:sudo mkdir /usr/local/grafana wget https://dl.grafana.com/oss/release/grafana-7.5.5-1.x86_64.rpm sudo yum install grafana-7.5.5-1.x86_64.rpm sudo syst
阅读全文
摘要:使用如下代码: og.info(vars.get("mid")); FileWriter fstream = new FileWriter("D://Beanshell.txt", true); BufferedWriter out = new BufferedWriter(fstream); ou
阅读全文
摘要:使用如下代码: import sun.misc.BASE64Decoder; String data = new sun.misc.BASE64Encoder().encode("${basepre1}${basepre2}".getBytes()); vars.put("base64all", d
阅读全文
摘要:如下图,如果需要提取id这种多次出现,且无法通过传统正则提取器逐个实现的,可以使用后置处理程序来达到目的: 步骤: 1/创建正常的正则提取器。但是需要注意匹配数字要选“-1”。 2/即可在引用以上正则提取器的线程返回结果查看器中看到所有和id这个字段相关的返回值,即id_1/id_2/id_3/…以
阅读全文
摘要:通过添加if控制器,可以实现条件判断,使if控制器内的子线程根据之前线程的返回进行触发与否的控制。 ${__jexl3("${id_report_status_1}"!="0")} 即代表由之前线程组返回值Status(可由正则提取),是否为FAIL来判断触发执行子线程。 == 等于 != 不等于
阅读全文
摘要:Jmeter的线程组中有一个选项是“编码”,它的作用是可以在传递Base64这种编码的情况下,将其识别为一个整体。 起码在早期的Jmeter中,这个选项是有作用的: 解决方案为勾选编码方式: 说明Jmeter的编码复选框也是有用武之地的。
阅读全文