Jmeter 使用實踐 - 接口 diff 測試

大多數人都使用 Jmeter 作過性能測試,可是在使用的過程當中你會發現,它不只能夠作性能測試和功能測試,還可以知足基本的接口測試需求。html

相比其餘工具,Jmeter 入門門檻較低,安裝也比較方便,根據本身的須要能夠擴展一些插件,總之一句話: 優勢太多了。運維

####那麼問題來了,爲何要作接口 diff 測試?工具

  • 產品迭代較快,提升已有 case 迴歸的效率,減輕工做量;
  • 經過 diff 能夠看到新的改動對已有功能的影響;
  • 能夠根據修改的代碼設置 case,有針對性的測試;
  • 在開發聯調階段提早定位發現的問題。

####下面就介紹下經過 Jmeter 進行 diff 測試的步驟:性能

1.添加測試計劃測試

2.添加 Threads插件

3.添加 Sampler-HTTP 請求code

舊版本的接口:interfaceV1htm

4.針對 Sampler interfaceV1 添加後置處理器 - BeanShell PostProcessor,如圖:接口

Paste_Image.png

5.添加Sampler-HTTP請求ci

新版本的接口:interfaceV2

6.針對Sampler interfaceV2添加後置處理器 - BeanShell PostProcessor

Paste_Image.png

7.針對 Sampler interfaceV2 添加後置處理器 - BeanShell Sampler

8.在 BeanShell Sampler 添加斷言 - BeanShell 斷言

Paste_Image.png

下面是針對響應的信息進行簡單的比較

resultV1 = vars.get("version1");
String[] firstLines = resultV1.split("\n");
resultV2 = vars.get("version2");
String[] secondLines = resultV2.split("\n");
for (i=0; i<firstLines.length; i++) {
if (!firstLines[i].equals(secondLines[i])){
j = i + 1;
Failure = true;
FailureMessage = FailureMessage + "\r第 " + j + " 行不一樣." + " \r\n版本1是: " + firstLines[i] + " \r\r\n版本2是: " + secondLines[i];
}else{
FailureMessage = FailureMessage + "\r兩個版本返回結果相同";
}
}

9.添加監聽器-斷言結果

10.運行腳本後,查看斷言結果

Paste_Image.png

通過以上幾步就完成了一個簡單的接口 diff 測試

若是想實現自動化,能夠集成到 jenkins 中。針對不一樣的環境,要想保證腳本都可以正常運行,能夠添加配置元件 - 用戶定義的變量,將環境配置做爲變量保存。

此外,若有其餘小夥伴發現了更好的一些針對 diff 測試的工具或方法,請多多指教。

Cloud Insight 集監控、管理、計算、協做、可視化於一身,幫助全部 IT 公司,減小在系統監控上的人力和時間成本投入,讓運維工做更加高效、簡單。本文系國內 ITOM 行業領軍企業 OneAPM 工程師原創。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客本文轉自 OneAPM 官方博客

相關文章
相關標籤/搜索