jmeter随笔(10)-中文url编码问题
坚持分享,坚持总结,技术需要时间的积累和练习,对jmeter实践的点滴的记录,这里分享交流,仅供参考和讨论,有想法的欢迎留言、谈论,手机上图片如果不清晰,请点击【阅读原文】查看。
1技巧1:后台数据html转码,导致jmeter不能直接断言详情
问题:项目为了做xss防御,加了一种转码方式,导致我们在jmeter中看到响应的值如图,无法直接断言
分析:这是一种转码,浏览器可以解析,我们只需要做html的转码即可,我们查资料知道 unescapeHtml这个函数可用
解决方案:
1、在jmeter的测试计划下引入包commons-lang.jar
获取地址:https://yunpan.cn/cvmXJuFtUu4vK 访问密码 771a
2、在【用户参数】,或者csv中添加我们预期的断言的值,我们这里为了方便在【用户参数】中添加如图
3、在请求中添加beanshell,如图:
import org.apache.commons.lang.StringEscapeUtils;
//String htmltest = "国家级2次;校级4次;";
//控制台上打印
//System.out.println("htmltest:"+StringEscapeUtils.unescapeHtml(htmltest));
//获取响应结果
String myResult=prev.getResponseDataAsString();
//做html转码处理
String myResult2=StringEscapeUtils.unescapeHtml(myResult);
//将结果保存在变量【myResult3】中
vars.put("myResult3",myResult2);
4、添加响应断言,通过jmeter 变量来断言,如图:
5、运行,查看断言结果,成功解决问题
好了,本次到此,欢迎留言、点赞、转发等来交流,更多分享下期再会,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: