需求
點擊日誌
GET
ad/show?v=1&content=wBARm8SNpgQg2G5A79JMbvhlU7vOutqZGTeMMgmR%2BtHtE0xdFe1C745dJaTjWdt6pCQkz6P912fEuO%2FfRu6CO%2FqSSp%2FS1MZv8us%2ByTKA%2BTwkSwuiyXeE1f4lMxBAm8EF%2FDi3J%2FoUWON5wMikKgiTWlvInnm%2FbXhDX7HbotgLQbE%3D HTTP 1.1
其中content是通過AES-128加密、URL Encoder,包含內容如下;
{“uid”:”abc”,”ad_id”:123456,”space_id”:1,”ad_platform”:2,”os”:2,”activity_id”:2,”log_type”:”click”,”date”:”2018-03-14 10:07:56”}
測試方案
經過測試工具的調查,發現jmeter可以實現發送密文,所以採用jmeter實現此需求,同時和開發通過開發可以給加密算法的jar包,然後jmeter引用進來,然後就可以直接調用
測試步驟
1、在測試計劃中添加開發給的算法的jar包
2、在線程組中添加beanshell sampler實現代碼的調用
import com.yang.*;//引入jar包
String clickContent = "{\"uid\":\"${__CSVRead(/Users/songlili/Desktop/adlogs.csv,0)}\",\"ad_id\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,1)},\"space_id\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,2)},\"ad_platform\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,3)},\"os\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,4)},\"activity_id\":2,\"log_type\":\"click\",\"date\":\"${__time(yyyy-MM-dd HH:mm:ss)}\"}";//content 這裏的content我進行了函數的參數化
String showContent="{\"uid\":\"${__CSVRead(/Users/songlili/Desktop/adlogs.csv,0)}\",\"ad_id\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,1)},\"space_id\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,2)},\"ad_platform\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,3)},\"os\":${__CSVRead(/Users/songlili/Desktop/adlogs.csv,4)},\"activity_id\":2,\"log_type\":\"show\",\"date\":\"${__time(yyyy-MM-dd HH:mm:ss)}\"}";//content
String KEY = "ztwlABCDEFGHIJKLMNOP0123456789";//加密的key
String encryptClick = AESUtils.encrypt(clickContent, KEY);//調用加密的方法
String decryptClick = AESUtils.decrypt(encryptClick, KEY);//調用解密的方法
String encryptShow = AESUtils.encrypt(showContent, KEY);
String decryptShow = AESUtils.decrypt(encryptShow, KEY);
//將加密好的值放入到變量中
vars.put("encryptClick",encryptClick);
vars.put("encryptShow",encryptShow);
vars.put("decryptClick",decryptClick);
vars.put("decryptShow",decryptShow);
3、在線程組中添加debug beanshell 這個主要是輔助 sample的調試和輸出值得查看 添加就好不需要進行任何改變
4、添加HTTP請求
這裏URL進行了編碼 調用的jmeter的自帶的函數
5、添加檢查結果樹
6、點擊運行即可