以前的登录接口密码参数不包含特殊字符,为了安全,产品今天修改了需求,密码必须由数字,字母和特殊字符构成,之前利用JMeter接口编写的脚本报错了,调整了一下,里面踩了一点坑,记录下来,希望对大家有帮助。
修改以前的接口,第一反应就是换一个复杂密码,然后修改下JMeter中的密码参数即可,但是,修改完后一直报错:用户名或密码错误
于是去看请求参数,用户名,密码和验证码,与F12抓包的三个参数都是一样的
解决方案:
1、与开发同学确认,接口是否更改
开发同学确认了,接口只加了复杂密码,没动其他任何东西
2、分析JMeter报错原因
想着只修改了密码,密码可以包含特殊字符,于是去查了下资料,JMeter请求参数带特殊字符时的处理方法,原来,问题出在请求参数Parameters的编码问题,请求参数Parameters,带中文或特殊字符(+/=)时,例如登录密码或者token等,需要勾选编码
勾选之后再次运行接口,响应正常了
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!