比如测试环境,注册时需要获取短信验证码,但获取短信验证码接口返回值却不包含短信验证码。该怎么处理,目前想到的解决方案
1.修改代码,接口测试时不要短信验证码
2.查数据库,但是公司数据库里没存(可能 redis 里存了)
3.让开发写个接口,能获取短信验证码。
各位大神,有遇到这种情况的,你们都是咋处理的呢。求借鉴!
之前做接口时候碰到过类似问题,短信验证码存储在 Redis,我们在接口测试工具里实现了一个 Redis 读取的方法,根据开发提供的读取验证码方法去 Redis 拿验证码,然后进行登录接口的验证
已解决:直接写个接口去获取验证码。(接口只在测试环境生效,代码做判断)
1.不采取修改环境代码的方式(万能验证码,写死验证码,都是要改代码的。每次更新环境代码时,都要再次修改一遍)。因为每次跑用例前都要去修改环境代码,太麻烦。
2.读取服务器日志,查看验证码。这个代码量比较大,因为有时候测试环境会同时有其他人在获取短信验证码,同时出现多条验证码日志时,很难去识别。
骚操作 读取数据库
先和开发确认验证码生成机制。 然后解决如何 拿 存 带 ,完事。
注释掉
万能验证码
真的输入
搞个万能码
找开发帮忙写死验证码
如果是直接取数据库,你自己可以写个 sql 语句截取字符获得短信验证码,然后赋值给某个变量就好了
最好是单独开个接口,我们公司是存在 redis 的,但是用 java 给序列化了,我用的是 python 没办法反序列化拿出来
全部回答错误。1.用万能的验证码,那你真正使用了验证码的逻辑怎么验证? 2.有说去数据库拿的。。。不了解中间件么,是不是所有东西都要直接去数据库取?redis 取正确 3.以前帖子有说过 可以通过 adb shell 直接过滤本机验证码
我们这有:mobile[b777993d6a94bbad06592eae994bcaf1] content,根据加密后的手机号,查询出最新的一条记录。不过这个太复杂,所以我们这边是直接新写个接口去获取
测试环境,写死一个测试用码唄,用不了几分钟
1.最方便的就是让开发弄个万能验证码,以后一直能用
2.在数据库的话就去数据库拿
3.再或者去服务器这个服务对应的路径下找日志,在 log 里面筛选拿出来
触发发短信的操作,肯定会存储的。要不然怎么给用户发短信,直接让开发给权限读验证码就好了。