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