接口自动化----手机号验证码
第一步:手機號驗證碼登錄的過程:
1、頁面輸入手機號,點擊獲取驗證碼。
2、后端收到手機號,校驗手機號格式的正確性,然后調用短信網關發送驗證碼, 短信網關只是負責發送短信, 要發送的手機號和短信內容是我們的系統給短信網關的, 所以我們系統肯定在一個地方存這個手機號和驗證碼的對應關系, 有可能緩存(redis),有可能數據庫,也有可能其他地方。
3、手機收到短信驗證碼。
4、頁面輸入驗證碼點擊提交。
5、系統收到登陸請求的手機號和驗證碼, 然后在保存手機號驗證碼對應關系的地方取出對應手機號的驗證碼,然后比較兩個驗證碼是否相等,相等就登陸成功,不相等就登錄失敗, 當然還得在驗證碼的有效期內。
第二步:分析在哪里可以解決自動登錄的問題?
其實就是第五步驗證過程是判斷我們是否登錄成功的關鍵一步,那么搞定第五步有哪些方案呢?
方案1:讓后端設置一個萬能碼, 這樣登錄的時候,如果是這個碼,就直接默認登錄成功,相當于一個后門, 這個時候需要和后端確認下,只有指定的手機號這個萬能碼才生效, 這樣可以最大程度避免有萬能碼代碼意外發到線上環境帶來的損失。
方案2:讓后端去掉短信驗證碼登錄過程,直接輸入手機號就可以登錄, 這樣代碼改動大, 而且錯誤代碼發到線上風險很大。
方案3:自己手工拿到登錄的認證信息,比如token,然后寫入到代碼中,這樣可以跳過登錄環節,不好的就是每次運行都要手工操作。
其實可以看出方案1、方案2、方案3,都有一些不好的地方,不是需要開發協助修改代碼邏輯, 就是弄起來比較麻煩, 接下來就有一個更好的方案。
最優方案:從第2步可以看出,短信的驗證碼其實是存在某個地方的,那么我們可以直接通過操作數據庫、操作redis、或者調用接口獲取到驗證碼,然后就可以輸入正確的驗證碼了,這樣不需要開發修改代碼,也不麻煩, 就是我們寫自動化腳本的時候需要多一點知識,但是跑通之后效果比前面的方案都要好。
總結
以上是生活随笔為你收集整理的接口自动化----手机号验证码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS实现 全屏 遮罩
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?