python性能測試對手機號綁定進行壓測

    目錄

    引言

    最近遭遇了綁定手機號相關得壓測需求,有了手機號登錄得經驗和測試數據,這次算起來比較簡單。最重要得是難點就是要求開發配合調整配置已經在上一期內容:手機號驗證碼登錄性能測試中問題解決了,綁定手機號唯一得難點就是如何在單賬號綁定得過程中不斷切換手機號,而且保證最后賬號得綁定手機號還是一開始得14+uid得模式。

    業務邏輯:

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

    使用用戶登錄校驗令牌、traceNo、短信驗證碼、手機號請求綁定手機號接口

    基本得校驗規則如下:

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

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

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

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

    解決方案:

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

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

    測試環境固定驗證碼

    uid是9開頭得,所以單個用戶得綁定手機號在149148之間切換,149為初始狀態,這里并沒有使用每次換一個新手機號,第一是怕出現偶然重復,第二是數據維護不容易

    測試方案:

    將發送驗證碼和綁定手機號兩個接口放在一起壓測,需要準備一批測試用戶

    單個線程綁定一個用戶,然后不停地發送驗證碼和綁定新手機號

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

    壓測:

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

    /**?*?每個用戶先發短信然后綁定手機號,手機號分為148和149切換,后8位于uid后8位.最后會把測試數據固定在149號段?*/class?BindPhone?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?Bind(info,?times)????????}????????new?Concurrent(threads,?"學生留存1.2.3綁定手機號").start()????????thread.times?{????????????def?base?=?getBase(it)????????????def?info?=?new?UserInfo(base)????????????info.bindPhoneInit()????????}????????FanLibrary.testOver()????}????static?class?Bind?extends?ThreadLimitTimesCount<UserInfo>?{????????public?LoginTel(UserInfo?info,?int?times)?{????????????super(info,?times,?null)????????}????????@Override????????protected?void?doing()?throws?Exception?{????????????threadmark?=?t.bindPhone()????????}????}}

    模塊類方法:

    ????/**?????*?獲取用戶信息?????*?????*?@return?????*/????public?JSONObject?getUserInfo()?{????????String?url?=?UserInfoApi.USERINFO;????????JSONObject?params?=?getParams();????????JSONObject?response?=?getPostResponse(url,?params);????????output(response);????????return?response;????}????/**?????*?綁定手機號?????*?????*?@return?????*/????public?JSONObject?bindPhone(String?phone)?{????????sendCodeOnline(phone);????????String?url?=?UserInfoApi.BIND_PHONE;????????JSONObject?params?=?getParams();????????params.put("phone",?phone);????????params.put("traceno",?lastTraceNo);????????params.put("code",?Common.TEL_CODE);????????JSONObject?response?=?getPostResponse(url,?params);????????output(response);????????return?response;????}????/**?????*?綁定手機號,壓測用?????*?????*?@return?????*/????public?String?bindPhone()?{????????phone?=?phone.startsWith("149")???148?+?phone.substring(3)?:?149?+?phone.substring(3);????????bindPhone(phone);????????return?lastTraceNo;????}????/**?????*?初始化手機號,默認id前兩位改成14?????*?????*?@return?????*/????public?JSONObject?bindPhoneInit()?{????????JSONObject?userInfo?=?getUserInfo();????????String?tel?=?userInfo.getJSONObject("data").getString("tel");????????if?(tel.startsWith("149"))?return?null;????????phone?=?149?+?phone.substring(3);????????sendCodeOnline(phone);????????String?url?=?UserInfoApi.BIND_PHONE;????????JSONObject?params?=?getParams();????????params.put("phone",?phone);????????params.put("traceno",?lastTraceNo);????????params.put("code",?Common.TEL_CODE);????????JSONObject?response?=?getPostResponse(url,?params);????????output(response);????????return?response;????}????/**?????*?發送綁定手機號信息?????*?????*?@param?phone?????*?@return?????*/????public?JSONObject?sendCodeOnline(String?phone)?{????????String?url?=?UserInfoApi.SEND_CODE_ONLINE;????????JSONObject?params?=?getParams();????????params.put("scene_type",?1);//1綁定手機????????params.put("phone",?phone);????????output(phone);????????JSONObject?response?=?getPostResponse(url,?params);????????output(response);????????if?(isRight(response))?{????????????lastTraceNo?=?response.getJSONObject("data").getString("traceno");????????}????????return?response;????}

    以上就是python性能測試對手機號綁定進行壓測得詳細內容,更多關于python手機號綁定性能測試得資料請關注之家其它相關內容!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 亚洲性无码一区二区三区| 国产中文字幕一区| 精品一区二区三区自拍图片区 | 国产一区三区三区| 亚洲不卡av不卡一区二区| 精品一区二区三区自拍图片区| 精品一区二区三区在线观看视频| 亚洲国产精品一区二区久久hs | 奇米精品一区二区三区在线观看| 国产乱子伦一区二区三区| 一区二区三区在线看| 国精无码欧精品亚洲一区| 无码国产精品一区二区免费式直播| 亚洲AV无码一区二区三区电影| 福利一区在线视频| 人妻无码一区二区三区AV| 国产精品亚洲专区一区| 中文字幕一区二区视频| 亚洲中文字幕一区精品自拍| 国产a久久精品一区二区三区| 久久一区不卡中文字幕| 偷拍激情视频一区二区三区| 免费av一区二区三区| 精品国产一区二区三区av片| 在线精品亚洲一区二区三区| 国产SUV精品一区二区四| 中文乱码精品一区二区三区| 国产一区二区三区播放心情潘金莲 | 无码中文字幕乱码一区 | 中文字幕人妻AV一区二区| 国产精久久一区二区三区| 国产精品高清一区二区人妖| 久久国产精品一区| 日本精品视频一区二区| 久久亚洲日韩精品一区二区三区| 一区二区免费电影| 成人一区二区三区视频在线观看| 香蕉久久av一区二区三区| 中文字幕一区二区视频| 精品在线一区二区| 国模精品一区二区三区视频|