2015-04-03 126 views
0

我在jmeter中創建了一個腳本,很少有正面情況,很少有負面情況。 對於陽性病例 - 二維碼會200 負案例 - 二維碼會爲412如何更改Jmeter的狀態結果

按的JMeter如果二維碼4XX或5XX將被視爲失敗,但在我的情況我期待的結果412在負面情況下,我想認爲,通過。

我嘗試使用BeanShell斷言,但我沒有得到預期的結果。

守則如下:

String ErrorValue = "${ExpectedError}"; 

if((ErrorValue.equals("ERROR")) && (ResponseCode.equals("412"))) 
{ 
    Failure = false; 
} 
else if(ErrorValue.equals("NO ERROR") && ResponseCode.equals("200")) 
{ 
    Failure = false; 
} 
else 
{ 
    Failure=true; 
} 

有關的代碼,我能夠檢查預期的錯誤和響應是相同的,但如果這是同一如何改變狀態傳遞我沒有得到。

請任何人都幫助我。

感謝 Sarada

回答

1

Failure = false位僅設置的BeanShell斷言成功。據我所知,你需要改變父採樣器的狀態。爲了做到這一點,你需要調用SampleResult.setSuccessful()方法,並將其設置爲 「true」,如下所示:

SampleResult.setSuccessful(true); 

全碼:

String ErrorValue = "${ExpectedError}"; 

if((ErrorValue.equals("ERROR")) && (ResponseCode.equals("412"))) 
{ 
Failure = false; 
SampleResult.setSuccessful(true); 
} 
else if(ErrorValue.equals("NO ERROR") && ResponseCode.equals("200")) 
{ 
Failure = false; 
SampleResult.setSuccessful(true); 
} 
else 
{ 
Failure=true; 
} 

參考文獻:

+0

謝謝,它正在工作 – 2016-08-03 05:01:45

1

如果你期待在JMeter的HTTP響應代碼「失敗」,但希望標誌作爲成功的,這可以通過一個響應斷言來完成該示例:

例如: 驗證經過DELETE召喚作品,我們可能希望重新嘗試GET並按預期驗證404。通常JMeter會認爲這是一個失敗,但在我們的測試中,它不是。

  • 向刪除後的GET調用添加一個響應聲明。
    • 適用於:主要樣本
    • 響應現場測試:二維碼
    • 勾選 「忽略狀態」
    • 模式匹配規則:等於
    • 模式來測試:404

失敗或不失敗的狀態總是被忽略。但是,只有當404個匹配的斷言纔會成功。

例如,如果調用返回的500 jmeter仍然會忽略「失敗」狀態,但會將樣本標記爲失敗,因爲500!= 404。

-Addled