Jmeter 使用實(shí)踐 - 接口 diff 測(cè)試

大多數(shù)人都使用 Jmeter 做過(guò)性能測(cè)試,但是在使用的過(guò)程中你會(huì)發(fā)現(xiàn),它不僅可以做性能測(cè)試和功能測(cè)試,還能夠滿足基本的接口測(cè)試需求。

相比其他工具,Jmeter 入門(mén)門(mén)檻較低,安裝也比較方便,根據(jù)自己的需要可以擴(kuò)展一些插件,總之一句話: 優(yōu)點(diǎn)太多了。

那么問(wèn)題來(lái)了,為什么要做接口 diff 測(cè)試?

  • 產(chǎn)品迭代較快,提高已有 case 回歸的效率,減輕工作量;
  • 通過(guò) diff 可以看到新的改動(dòng)對(duì)已有功能的影響;
  • 可以根據(jù)修改的代碼設(shè)置 case,有針對(duì)性的測(cè)試;
  • 在開(kāi)發(fā)聯(lián)調(diào)階段提前定位發(fā)現(xiàn)的問(wèn)題。

下面就介紹下通過(guò) Jmeter 進(jìn)行 diff 測(cè)試的步驟:

1.添加測(cè)試計(jì)劃

2.添加 Threads

3.添加 Sampler-HTTP 請(qǐng)求

舊版本的接口:interfaceV1

4.針對(duì) Sampler interfaceV1 添加后置處理器 - BeanShell PostProcessor,如圖:

Paste_Image.png

5.添加Sampler-HTTP請(qǐng)求

新版本的接口:interfaceV2

6.針對(duì)Sampler interfaceV2添加后置處理器 - BeanShell PostProcessor

Paste_Image.png

7.針對(duì) Sampler interfaceV2 添加后置處理器 - BeanShell Sampler

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

Paste_Image.png

下面是針對(duì)響應(yīng)的信息進(jìn)行簡(jiǎn)單的比較

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兩個(gè)版本返回結(jié)果相同";
}
}

9.添加監(jiān)聽(tīng)器-斷言結(jié)果

10.運(yùn)行腳本后,查看斷言結(jié)果

Paste_Image.png

經(jīng)過(guò)以上幾步就完成了一個(gè)簡(jiǎn)單的接口 diff 測(cè)試

如果想實(shí)現(xiàn)自動(dòng)化,可以集成到 jenkins 中。針對(duì)不同的環(huán)境,要想保證腳本都能夠正常運(yùn)行,可以添加配置元件 - 用戶定義的變量,將環(huán)境配置作為變量保存。

此外,如有其他小伙伴發(fā)現(xiàn)了更好的一些針對(duì) diff 測(cè)試的工具或方法,請(qǐng)多多指教。

Cloud Insight 集監(jiān)控、管理、計(jì)算、協(xié)作、可視化于一身,幫助所有 IT 公司,減少在系統(tǒng)監(jiān)控上的人力和時(shí)間成本投入,讓運(yùn)維工作更加高效、簡(jiǎn)單。本文系國(guó)內(nèi) ITOM 行業(yè)領(lǐng)軍企業(yè) OneAPM 工程師原創(chuàng)。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問(wèn) OneAPM 官方技術(shù)博客
本文轉(zhuǎn)自 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 大多數(shù)人都使用 Jmeter做過(guò)性能測(cè)試,但是在使用的過(guò)程中你會(huì)發(fā)現(xiàn) 它不僅可以做性能測(cè)試和功能測(cè)試,就連基本的接...
    baiynistx閱讀 2,133評(píng)論 4 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評(píng)論 19 139
  • 最近學(xué)習(xí)使用了jmeter來(lái)對(duì)接口進(jìn)行測(cè)試。使用jmter進(jìn)行接口測(cè)試,有時(shí)候需要編寫(xiě)一些BeanShell腳本語(yǔ)...
    黃小呱閱讀 43,376評(píng)論 6 28
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環(huán)境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 3,120評(píng)論 0 8
  • 無(wú)關(guān)魯迅先生,無(wú)關(guān)知乎者,只是為了紀(jì)念。 勞動(dòng)節(jié)后的某一個(gè)周末,額外請(qǐng)了一天假,趕著火車(chē)回了農(nóng)村老家,老...
    米陌陌閱讀 245評(píng)論 0 0

友情鏈接更多精彩內(nèi)容