个人站点:测试开发者https://www.devtester.cn
1. 解决验证码问题
在登录接口中,需要填写验证码。虽然是传统的图片型密码,可以尝试使用OCR方法识别,但对于接口测试(包括之后的UI测试)而言并不需要在验证码上大费周章,尤其是使用测试工具的接口测试中。常规处理,在测试环境中使用固定的验证码就可以,当然,这也意味着在生产环境中需要着重查看这个验证码,确保其没有在生产环境中使用。
这里做一个简单粗暴的修改,在源代码中,打开PersonalController.java文件,修改78行左右,修改后,如下所示:
// 接口测试使或UI测试用固定验证码9999
if (shearCaptcha == null || (!shearCaptcha.verify(verifyCode) && !verifyCode.equals("9999"))) {
return ResultGenerator.genFailResult(ServiceResultEnum.LOGIN_VERIFY_CODE_ERROR.getResult());
}
在实际使用时,需要先请求验证码接口(对界面而言就是先刷新验证码图片),再请求登录接口
2. 添加配置元件 HTTP Cookie管理器
因为登录接口使用到cookie,所以需要使用HTTP Cookie管理器来指出cookie信息管理,可以通过察看结果树进行查看
使用cookie管理器,请求成功
未使用cookie请求失败
3. 添加HTTP取样器,请求验证码
因为接口文档感觉有点不对劲,直接拿Fiddler抓包了
GET请求,路径为/common/mall/kaptcha
4. 添加登录接口
POST 请求, 路径为/login
请求参数如下
参数名 |
参数值 |
loginName |
填用户名 |
password |
填密码 |
verifyCode |
9999 |
JMeter请求详情
5. 发送请求
登录成功,请求结果如下: