分享初用Jmeter时可能遇到的一些问题

很多朋友在刚刚接触jmeter的时候会遇到各种各样感觉稀奇古怪的问题,明明请求对了却总是返回不如意的结果,jmeter功能强大,但没有postman那样的界面简洁易上手的特性,本文分享在最初接触jmeter时有可能会遇到的问题,让各位少走弯路。下方目录,点击可直接跳转到对应的问题解决方案上。

目录

1、提示java.net.URISyntaxException: Illegal character in authority at index 7:xxxx

2、提示{"code":"10010002","msg":"获取登陆用户信息失败"}

​编辑

3、提示{"timestamp":"2023-04-06T09:29:18.862+00:00","status":415,"error":"Unsupported Media Type","path":"xxxx"} 

4、响应成功,但响应内容乱码

5、提示{"code":"30000000","msg":"JSON parse error: xxx}


1、提示java.net.URISyntaxException: Illegal character in authority at index 7:xxxx

java.net.URISyntaxException: Illegal character in authority at index 7: http:// xxxxx
	at java.net.URI$Parser.fail(Unknown Source)
	at java.net.URI$Parser.parseAuthority(Unknown Source)
	at java.net.URI$Parser.parseHierarchical(Unknown Source)
	at java.net.URI$Parser.parse(Unknown Source)
	at java.net.URI.<init>(Unknown Source)
	at java.net.URL.toURI(Unknown Source)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:620)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285)
	at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638)
	at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
	at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
	at java.lang.Thread.run(Unknown Source)

原因及解决方案:URL地址不正确(可能是由于域名或参数中使用了非法的字符;也有可能是在开头、结尾等地方多打了一个空格,这种情况的概率非常大,一定要检查空格


2、提示{"code":"10010002","msg":"获取登陆用户信息失败"}

{"code":"10010002","msg":"获取登陆用户信息失败"}

原因及解决方案:提示登录用户信息失败类似的内容时,通常是访问的这个接口还需要和其它接口之间有关联,比如我目前访问的一个接口,就需要将登录接口返回的token作为请求头携带,否则就会报这个错误。

1、添加请求头方法:右键线程组-添加-配置元件-HTTP信息头管理器

2、输入名称和值即可(每个公司和每个项目都不同,具体缺少的是什么由实际情况决定,下图仅做举例)


3、提示{"timestamp":"2023-04-06T09:29:18.862+00:00","status":415,"error":"Unsupported Media Type","path":"xxxx"} 

{"timestamp":"2023-04-06T09:29:18.862+00:00","status":415,"error":"Unsupported Media Type","path":"/hd/sys/user/xxxx"}

原因及解决方案:此问题常见于post请求,看到此问题时基本可以确认是请求头方面出了问题,缺少请求类型方面的描述(这一点就没有postman做的好),如果是json格式的请求体,则需在【HTTP信息头管理器】中添加Content-Type:application/json(如下图)当然,如果请求头有书写错误也会报这个错,比如使用了中文的逗号、分号等。


4、响应成功,但响应内容乱码

原因及解决方案:此问题是由于编码格式异常造成的,因为响应页面没有做编码处理,JMeter默认按照ISO-8859-1编码格式进行解析;

设置方法一(不推荐:在原本的content-type中,结尾增加英文状态的分号';'并写上charset=utf-8

上述方法不一定有效,在很多电脑上此方法会失效,如果此方法无效请参考方案二

设置方法二(推荐):

1、右键线程组-添加-后置处理器-BeanShell 后置处理程序

2、写入prev.setDataEncoding("utf-8")

prev.setDataEncoding("utf-8")

3、重新访问请求,即可解决响应乱码问题


5、提示{"code":"30000000","msg":"JSON parse error: xxx}

{"code":"30000000","msg":"JSON parse error: Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 4, column: 6]"}

原因及解决方案:出现此问题,基本都是json格式书写有问题,可以把json请求体粘贴到json.cn去验证是否书写正确,我把链接附在下面可以直接访问。(多参和少参或参数错误也有可能会报这个错误,但不常见,具体看后端开发人员是如何写接口的)

点击进入json.cn验证格式书写是否异常https://www.json.cn/


关注我,不迷路

******我的本文相关专栏******

软件测试 & 开发(单击此处进入)


 ******我的其它作品专栏******

PC常见故障汇总专栏(点击进入)

EXCEL综合场景应用详解(点击此处进入)

全国计算机等级考试-二级python基础(点击此处进入)

猜你喜欢

转载自blog.csdn.net/Liu_GuoXing/article/details/129994154