jmeter遇到的坑

我是小白,在学习阶段,以下是我遇到的坑,总结了一下

我只想通过我们的程序实现一个登陆后,获取token,然后能顺利的关联登录后的页面,真的是花费了三四天时间,才弄清楚,遇到了好多坑,也在网上搜索各种问题,但大都是千律一篇吧。还好找到了一位大神,一下子解决了我的问题,来说说我遇到的坑。
一、java.net.URISyntaxException: Illegal character in query at index 53
由于该程序需要绑定IP及mac地址,所以登录后关联的地址都需要加参数,参数包含了| 这个符号,之前在postman中就不需要转义,可以直接执行成功,但我把地址直接放在jmeter中的url执行,就一直报这个错误,所以需要把| 符号进行转义。转义方法,网上肯定有很多,就不一一罗列了,如果有其他特殊字符,也是需要转义的。所以这里需要记住:jmeter的url有些符号是需要转义的
 
 
 
 
 
二、${变量} 的用法
我以为${变量}可以反复的赋值,比如我获取了${token},然后它还要和其他参数拼接,我把它们统一放在了用户参数定义中,结果发现打印的东西并不是我想要的,结果显示的是${变量}${token} 这个,而不是它们对应的那个变量值。
比如下面这个类似的吧,hello出来的不是ab,而是${name}${password},对了,jmeter的拼接方式不需要加任何符号
三、json提取器和正则提取器
这个排查的过程真的是太难了,是不是要加cookie 管理器,header管理器等等,我只是用来提取token的,json提取器倒是很简单,没有遇到坑,只需要了解json的提取路径规则,就能准确获取到,首先我的格式是Content-Type: application/json;charset=UTF-8,所以很适合用json提取器,但我偏偏想用正则提取器去获取,因为在学习阶段嘛,两种方式都想试试,正则获取的时候,一定要把查看树的结果格式改为RegExp Tester, 然后匹配正则,可以在Regular expression 测试下,通过就没有问题,如果还是不行,我就把原来正则组件给删掉了,然后新建一个就OK了
四、jmeter导入jmx文件报错:missing class com.thoughtworks.xstream.converters.ConversionException
我在5.3版本创建的Tread Group 导入到3.1版本,提示不成功,上网查了下,要安装jmeter-plugins-manager.jar,但是我安装后, 我也不知道需要安装哪些插件,就放弃了,又采取了另一种解决方法,按照一位大佬的做法,找jmeter的log文件,看看第几行报错,然后edit你的jmx文件,把对应报错的第几行的数据给删掉即可,不过这种做法会同时删掉报错信息对应的组件,比如我的是因为正则提取器导致报错的,把它删掉后,导入成功,发现正则提取器不见了。
84行报错,删掉 <RegexExtractor> </RegexExtractor>
 
posted @ 2020-10-24 13:15  snailvsstar  阅读(691)  评论(0编辑  收藏  举报