Jmeter開發SDK測試外掛
阿新 • • 發佈:2022-04-06
1Jmeter開發SDK測試外掛
1 什麼是SDK?
基本定義:SDK:概念:軟體開發工具包(外語首字母縮寫:SDK、外語全稱:Software Development Kit)一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體時的開發工具的集合。 我的理解,其實說通俗點就是,客戶端SDK當開發引入SDK以後,根據SDK本身的DMEO進行程式碼開發,而不需要關注本省呼叫的SDK的邏輯實現。
以我們公司本次測試Java SDK為例
商戶模式下,進行一次交易查詢。 只需配置私鑰,公鑰。呼叫SDK客戶端即可實現。
2 SDK應該怎麼進行測試
2.1三種方案實現
通過Jmeter原聲BeanShell指令碼實現(引用外部SDK Jar包) 通過開發GUI外掛實現,封裝一些公用的方法實現(相比較第一種,只是節省了一部分重複的工作量) 整合前面的兩種方案,通過開發Jmeter提供新的請求Sample去實現,測試人員無需關係SDK本身的引用等基礎配置。只需關係測試業務資料的測試資料準備就可以實現SDK本身自動化測試了。
3 如何開發SDK外掛
3.1 引用
以下兩個引用,會引用到,後續會詳細講解,大家可以先去官網看一下具體的使用。
Jmeter-Sample:Class AbstractSampler
Jmeter-Gui: Class AbstractSamplerGui
3.2 開發環境
jdk: 1.8以上 Eclipse 引入外部jar包 ApacheJmeter_core.jar commons-lang3-3.4.jar log4j-1.6.1.jar
3.3 程式碼開發
新建專案工程目錄
**[BspayGUI.java]**
public class BspayGUI extends AbstractSamplerGui{
//定義一些請求引數
private JLabeledTextField requestMethod;
private JLabeledTextField rsaPrivatekey;
private JLabeledTextField rsaPublicKey;
@override
public void modifyTestElement(TestElement t){
//該方法需要重寫,實現請求值的初始化
}
@override
public void clearGui (){
//clear
}
**[BspaySampler.java]
**public class BspaySampler extends AbstractSampler{
@override
public SampleResult sample(Entry entry){
SampleResult result = new SampleResult();
result.setSampleLable(getName());
result.setDataEncoding("utf-8");
StringBuffer returnMsg = new StringBuffer("");
StringBuffer sendMsg = new StringBuffer("");
//SDK 測試封裝的呼叫邏輯
//Jmeter 本身的業務呼叫結果處理
...
result.setSuccessful(true);
result.setSamplerData(sendMSg.toString);
result.setResponseData(returnMsg.toString(),"utf-8")
return result;
...
}
}
**[Util.java]**
這個就是各個專案實現的具體實現類,一般開發那邊的指令碼拿過來修改一下即可。
3.4 專案匯出JAR包
匯出JAR包以後,放入jmeter/bin/lib目錄下,重啟既可以呼叫SDK,自動化測試了。
後續測試同學,只需要關注JSON裡面的業務引數設計,而無需關係SDK本身的內容