1、问题描述:测试登录时,密码一直显示错误,查看源代码,发现密码组成形式为
<input type="hidden" id="salt" value="2676note"/>
var newPass = jQuery("#password").val() + salt; | |
var finalPass = hex_md5(newPass); | |
jQuery("#password").val(finalPass); | |
当再次刷新时,<input type="hidden" id="salt" value="2336note"/>,总的来说:密码构成的salt值是不断改变的,且是使用md5加密。
问题解决思路:
1、获取动态密码值:salt;方法:将该值进行关联
2、动态值+password密码值拼接成字符串(newPass)
3、将newPass进行md5加密
Jmeter实现:
1、关联,获取变动的salt值(关联的方法:https://www.cnblogs.com/hearbeat/p/9415288.html)
2、检查是否获取到,需要添加一个debug取样器查看结果
如何获得MD5函数:https://blog.csdn.net/test_xhz/article/details/80311332
Jmeter 字符串拼接参数:将密码:123456与获取的关联数值进行拼接。方式是:在函数助手中调用_V()函数,参数值为:12345${value_g1}
然后将获得的_V(12345${value_g1})进行MD5加密,方式是:方式是:在函数助手中调用MD5(),最后得到${__MD5(${__V(a123456${value_g1})},)}
最后,将得到的值放在密码参数值里,即可成功。
解释:为什么是${value_g1}?,可以查取样结果树位置,其中Value_g1是我需要的结果