簡體   English   中英

JMeter持續時間斷言覆蓋響應代碼

[英]JMeter duration assertion Override Response Code

我有一個JMeter測試計划,每秒多次執行1個HTTP請求。 作為參數,我對測試執行的每個請求都有一定的超時。 為此,我添加了“持續時間斷言”采樣器/監聽器/ IDK ^^

現在我正在運行測試,我總是得到響應代碼200,因為請求沒問題,但超出了持續時間斷言。 這導致在結果樹中有成功和失敗的請求,但它們都具有狀態代碼200.問題在於,在“每秒響應代碼”監聽器中,它顯示所有請求都正常並且具有響應代碼200。但由於持續時間的斷言,它們並不好!

我的問題:我想覆蓋由於持續時間斷言而失敗的那些請求的狀態代碼。 我希望它們在“每秒響應代碼”監聽器中顯示為不同的響應代碼(但僅在它們超過持續時間的情況下),因為我無法區分它們。 或者有什么方法可以讓它們超過超時時失敗?

我真的很抱歉我的英語,我希望你能理解我的問題。 非常感謝!

我不知道任何允許更改響應代碼的測試元素,但您可以通過腳本執行以下操作:

  1. Beanshell Assertion添加為您要失敗的請求的子項。 Beanshell斷言應該持續時間斷言之后

  2. 將以下代碼添加到“腳本”區域:

     import org.apache.jmeter.assertions.AssertionResult; AssertionResult[] results = prev.getAssertionResults(); for (AssertionResult result : results) { if (result.isFailure()) { if (result.getFailureMessage().contains("The operation lasted too long")) { SampleResult.setResponseCode("1000"); } } } 

    Beanshell斷言更改響應代碼

有關通過斷言有條件地傳遞/失敗JMeter采樣器的更多信息,請參閱如何在三個簡單步驟中使用JMeter斷言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM