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综合天堂一区| 午夜精品一区二区三区在线视 | 黑人大战亚洲人精品一区| 亚洲欧美日韩中文字幕一区二区三区| 天堂Aⅴ无码一区二区三区| 亚洲欧美成人一区二区三区| 国产成人久久精品一区二区三区 | 国产高清在线精品一区二区三区| 亚洲一区二区三区高清不卡| 国产内射在线激情一区| 无码精品人妻一区二区三区AV| 中文乱码人妻系列一区二区| 中文字幕精品一区二区精品| 无码人妻一区二区三区在线水卜樱| 99热门精品一区二区三区无码| 久久99精品波多结衣一区| a级午夜毛片免费一区二区| 国产免费私拍一区二区三区| 国产怡春院无码一区二区| 精品无码成人片一区二区98| 无码一区二区三区在线观看| 国产一区二区三区久久精品| 成人区人妻精品一区二区不卡视频| 日韩av片无码一区二区三区不卡| 无码喷水一区二区浪潮AV | 日本欧洲视频一区| 中文字幕一区二区日产乱码| 一区二区三区国模大胆| 乱人伦一区二区三区| 国产一区二区三区在线电影| 国产成人AV区一区二区三| 日本一区二区三区在线看| 国产日韩精品一区二区在线观看播放| 亚洲日本va一区二区三区| 国产精品视频一区二区三区经| 亚洲一区二区三区国产精华液| 91福利国产在线观一区二区| 精品国产a∨无码一区二区三区| 激情亚洲一区国产精品|