接口和协议组成 接口测试依赖获得短信验证码,该怎么处理?

wangshan1 · 2018年06月08日 · 最后由 wangshan1 回复于 2018年06月13日 · 1841 次阅读

比如测试环境,注册时需要获取短信验证码,但获取短信验证码接口返回值却不包含短信验证码。该怎么处理,目前想到的解决方案
1.修改代码,接口测试时不要短信验证码
2.查数据库,但是公司数据库里没存(可能redis里存了)
3.让开发写个接口,能获取短信验证码。

各位大神,有遇到这种情况的,你们都是咋处理的呢。求借鉴!

共收到 14 条回复 时间 点赞

触发发短信的操作,肯定会存储的。要不然怎么给用户发短信,直接让开发给权限读验证码就好了。

骚操作 读取数据库

先和开发确认验证码生成机制。 然后解决如何 拿 存 带 ,完事。
注释掉
万能验证码
真的输入

之前做接口时候碰到过类似问题,短信验证码存储在Redis,我们在接口测试工具里实现了一个Redis读取的方法,根据开发提供的读取验证码方法去Redis拿验证码,然后进行登录接口的验证

搞个万能码

最好是单独开个接口,我们公司是存在redis的,但是用java给序列化了,我用的是python没办法反序列化拿出来

找开发帮忙写死验证码

如果是直接取数据库,你自己可以写个sql语句截取字符获得短信验证码,然后赋值给某个变量就好了

1.最方便的就是让开发弄个万能验证码,以后一直能用
2.在数据库的话就去数据库拿
3.再或者去服务器这个服务对应的路径下找日志,在log里面筛选拿出来

测试环境,写死一个测试用码唄,用不了几分钟

全部回答错误。1.用万能的验证码,那你真正使用了验证码的逻辑怎么验证? 2.有说去数据库拿的。。。不了解中间件么,是不是所有东西都要直接去数据库取?redis取正确 3.以前帖子有说过 可以通过adb shell直接过滤本机验证码

已解决:直接写个接口去获取验证码。(接口只在测试环境生效,代码做判断)
1.不采取修改环境代码的方式(万能验证码,写死验证码,都是要改代码的。每次更新环境代码时,都要再次修改一遍)。因为每次跑用例前都要去修改环境代码,太麻烦。
2.读取服务器日志,查看验证码。这个代码量比较大,因为有时候测试环境会同时有其他人在获取短信验证码,同时出现多条验证码日志时,很难去识别。

wangshan1 回复

如果读取服务器日志,没有其他唯一标识grep出相应的记录?

liweixin440 回复

我们这有:mobile[b777993d6a94bbad06592eae994bcaf1] content,根据加密后的手机号,查询出最新的一条记录。不过这个太复杂,所以我们这边是直接新写个接口去获取

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册