接口测试 接口测试遇到了短信验证码的问题

醋精测试媛 · 2023年07月21日 · 最后由 醋精测试媛 回复于 2023年08月03日 · 7372 次阅读

接口测试的参数有必填参数:短信验证码,之前看了很多大佬提出的解决方法,大概包括几个方向:万能验证码、读取服务器日志查看验证码、从 redis 获取验证码、注销掉需要验证码的代码、写个接口获取验证码。
一开始我是使用通过 redis 获取的,但是最近开发取消 redis 对外开放了,其他的办法开发也都说有安全风险,我想问一下有什么别的解决方法吗?
如果这些接口不测,通过功能测试解决,但是有的接口测试的前置是需要这些接口的返回值的,这种情况怎么办?

最佳回复

redis 取消开放指的是 host/key 都有,但是连接会提示超时。现在的方案是这些涉及验证码的接口跳过不测试

共收到 9 条回复 时间 点赞
仅楼主可见

开发取消了,那就自己去 redis 查,你知道知道 host,知道 key,能查到就行

可以用 ocr 识别一下,不过结果可能不是百分之百准确的,可以加一点重试机制和答案过滤机制

1、手动登录,拿 token 写到脚本里
2、让研发测试环境验证码写死
3、把服务器黑了
4、把研发开了换个听话的
5、换家靠谱公司

https://testerhome.com/articles/18060
之前类似的操作,可以参考一下

6楼 已删除
仅楼主可见

跳过验证码步骤

因为遇到了一个 bug,就是邮箱无法收到验证码邮件问题:(基于 jmeter 的处理方式)
接口 A 发送请求 获取验证码邮件
接口 B(第三方获取在线时间接口),发送请求,响应体中提取对应时间
接口 C (第三方邮箱接口),调用接口 B 的响应数据作为传参,获取一定时间后(30S)后的邮件,直接 json 提取验证码信息
但是我们的验证码有加密方式,响应结果就是一串加密字符串,我只能获取邮件,无法在进行下一步业务,仅供分享

redis 取消开放指的是 host/key 都有,但是连接会提示超时。现在的方案是这些涉及验证码的接口跳过不测试

醋精测试媛 关闭了讨论 08月03日 10:22
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册