91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python手機號驗證碼登錄測試實例分析

發布時間:2022-07-21 17:24:59 來源:億速云 閱讀:261 作者:iii 欄目:開發技術

這篇文章主要介紹了python手機號驗證碼登錄測試實例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python手機號驗證碼登錄測試實例分析文章都會有所收獲,下面我們一起來看看吧。

引言

這兩天遭遇了手機號登錄相關的壓測需求,算是比較棘手的。主要原因有兩個,第一:之前從來沒有接手過這個項目,不熟悉各種規則;第二:數據量偏大,需要開發配合協調校驗規則。

業務邏輯:

請求發送驗證碼接口,發送成功(已綁定的手機號,且有效的用戶狀態)可以獲取到登錄的一個參數traceNo

使用traceNo短信驗證碼、手機號請求登錄接口

基本的校驗規則如下:

手機號校驗,排除一些不存在的號段,11位數字類型(接口傳string類型)

間隔(60s)內不允許發第二條短信,短信有效期同隔間

自然天不允許發10條以上的短信

驗證碼隨機和traceNo必需從發送驗證碼接口獲得

解決方案:

限制條件已經做成可配置,可以隨時更改重啟服務即可

選中14號段,用戶手機號=14+uid

測試環境固定驗證碼

測試方案:

將發送驗證碼和短信登錄兩個接口放在一起壓測,需要準備一批測試用戶

單個線程綁定一個用戶,然后不停地發送驗證碼和使用驗證碼登錄

增加基類屬性phone和模塊類屬性lastTraceNo來完成參數傳遞

壓測腳本:

threadmark用來標記任務的,我在模塊方法里面返回了token,表示唯一用戶登錄接口請求操作,方便開發追蹤日志。

/**
 * 100個用戶通過發短信然后通過驗證碼登錄
 */
class LoginByTel extends OkayBase {
    public static void main(String[] args) {
        def argsUtil = new ArgsUtil(args)
        def thread = argsUtil.getIntOrdefault(0, 100)
        def times = argsUtil.getIntOrdefault(1, 50)
        ClientManage.init(10000, 5000, 0)
        def threads = []
        thread.times {
            def base = getBase(it)
            def info = new UserInfo(base)
            threads << new LoginTel(info, times)
        }
        new Concurrent(threads, "學生留存1.2.3手機驗證碼登錄").start()
        FanLibrary.testOver()
    }
    static class LoginTel extends ThreadLimitTimesCount<UserInfo> {
        public LoginTel(UserInfo info, int times) {
            super(info, times, null)
        }
        @Override
        protected void doing() throws Exception {
            threadmark = t.loginByTel()
        }
    }
}

模塊類方法:

    /**
     * 手機號登錄
     */
    public String loginByTel() {
        sendCodeOffline(2, phone);
        String url = Profile.LOGIN;
        JSONObject params = getParams();
        params.put("login_mode", 2);
        params.put("params", getJson("code=" + Profile.LOGIN_CODE, "phone=" + phone));
        JSONObject response = getPostResponse(url, params);
        if (isRight(response)) {
            token = response.getJSONObject("data").getString("token");
            super.token = token;
            logger.info("賬號 {} 登錄成功", account);
        } else {
            output(response);
            logger.warn("賬號 {} 登錄失敗", account);
            fail();
        }
        return token;
    }

關于“python手機號驗證碼登錄測試實例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python手機號驗證碼登錄測試實例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂托克前旗| 广元市| 化隆| 麦盖提县| 弥渡县| 大连市| 昌吉市| 改则县| 县级市| 噶尔县| 东源县| 修武县| 鄂托克前旗| 嘉禾县| 交城县| 云南省| 南康市| 游戏| 南昌市| 新和县| 新乡县| 望都县| 东阿县| 格尔木市| 黄浦区| 桓台县| 岐山县| 且末县| 云林县| 唐海县| 尚义县| 介休市| 阜城县| 灵寿县| 清原| 连州市| 仙游县| 嘉荫县| 汉阴县| 武城县| 山东|