【JMeter03】登录接口解决方案

发布于:2023-01-04 ⋅ 阅读:(222) ⋅ 点赞:(0)

个人站点:测试开发者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. 发送请求

登录成功,请求结果如下:
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到