一、问题
最近在研究JMeter+WebDriver实现UI自动化,然后添加了相关的插件(JMeterPlugins-WebDriver-1.4.0.zip),然后发现其他脚本执行后的响应数据中,中文显示为方框:
但复制这些方框粘贴后,显示的是中文:
二、原因
找了许久,才排查出是添加的WebDriver相关插件中的jsyntaxpane-1.0.0.jar包导致的:(JMeter版本是5.1.1 r1855137)
(个人认为是这个插件导致响应数据中的字体不支持展示中文,但我根据网上的设置“进入jmeter.properties中,找到jsyntaxtextarea.font.family这个选项,取消前面的#号,使其使用Hack字体”后,仍不起作用)
删除这个jar包后,执行的结果中响应数据中文显示正常:
但无法打开WebDriver Sampler了:
emmmm……难道是鱼和熊掌不可得兼?
三、尝试解决
First,我删掉了手动下载添加的WebDriver相关插件,尝试使用JMeter Plugins Manager进行添加WebDriver相关插件,果不其然,选了好几个Version,总是会有一些库下载失败、或进度卡住,感觉用这个插件管理器下载插件总是容易下载不成功……,太难了🤦……我放弃了……:
Second,我又把手动下载的WebDriver相关插件添加进去了,并尝试下载不同版本的jsyntaxpane的jar放到\lib下:
(下载地址:https://mvnrepository.com/search?q=jsyntaxpane)
Finally!!!,jsyntaxpane-0.9.5-b27.jar 这个版本的jar包,响应数据里的中文可以正常显示,一把辛酸泪……
然后验证了下WebDriver Sampler也可以正常执行,且脚本里的中文也可以正常显示了(之前脚本里的中文也是显示为方框):
四、总结
(1)添加插件,优先考虑从JMeter Plugins Manager进行添加;
(2)扩展功能添加插件前,最好将jmeter备份一份,一旦出现无法解决/定位的问题,也可复原;