1.當前Jmeter版本為3.3,去函數助手查看,存在__base64Encode()以及__base64Decode()兩個內置函數
2.已知項目中登錄賬號的加密方式
3.模擬產生數據,比較是否相同
A.account和validatecode這2個值好實現,直接為輸入值進行加密
${__base64Encode(GMSPort,)}
${__base64Encode(only,)}
B.sessionid為空直接不填即可
C.random這個值,他的獲取方式,是登錄接口的一個返回值,但是該接口的返回值為一個html頁面,該值為input中的value值,直接可以用正則表達式方式獲取NXCFXRBUFQZROKTZOAUATKGLPEGXKQWD
獲取返回值后,進行64加密實現:random ${__base64Encode(NXCFXRBUFQZROKTZOAUATKGLPEGXKQWD,)}
D.hmac先需要進行MD5,進行混淆,混淆方式為random值和md5password
i)md5password:${__MD5(cl123456789GMSPort,)} 登錄賬號的密碼為cl123456789,賬號名為GMSPort
II)該hmac的取值,使用了hmacDM5的算法。需要按照開發提供代碼。然后封裝成一個jar包。參考資料。
https://blog.csdn.net/renzhilongqq/article/details/89646551
其中輸入的參數為random值,和md5password
4.數據已經准備好了,接下來就是實現jmeter腳本
i)請求http
ii)給該請求設置前置處理器,寫調用內容
完成!!