問題描述: jmeter跑接口用例的時候,其中一條用例的對斷言失敗后,后面的用例都不執行了!
解決思路1: 考慮應該有地方設置,在菜單欄找了半天沒找到,百度也沒有查到
解決思路2: jmeter源碼導入到Eclipse,看看調試能不能找到停止的原因,在查找使用的類或方法時由於對代碼結構不清楚所以不知道界面觸發的是哪個類或方法,定位失敗
解決思路3: 和思路2同步進行,在博客園提問,問題解決
問題原因: 線程組設置-在取樣器錯誤后要執行的動作-停止線程
問題解決: 線程組設置-在取樣器錯誤后要執行的動作-繼續
問題總結: 對jmeter各個測試計划元件配置項原理還是不熟悉
概念記錄:
線程組相當於有多個用戶,同時去執行相同的一批次任務。每個線程之間都是隔離的,互不影響的。一個線程的執行過程中,操作的變量,不會影響其他線程的變量值。
有三個添加線程組的選項名字不一樣, 創建之后,其界面是完全一樣的。之前的版本只有一個線程組的名字。現在多一個setUp theread Group 與terDown Thread Group
1) setup thread group
一種特殊類型的ThreadGroup的,可用於執行預測試操作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試前進行定期線程組的執行。
2) teardown thread group.
一種特殊類型的ThreadGroup的,可用於執行測試后動作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試結束后執行定期的線程組。
可能你還是不太理他們與普通的線程組有什么不同。 如果您用過junit,想必你不會對setup ,teardown這2個字眼陌生。 即時每用過,也沒關系。 熟悉loadrunner的應該知道,loadrunner的腳本除了action里是真正的腳本核心內容,還有初始化“環境”的初始化腳本和測試完畢后對應的清除信息的腳本塊。 那么這里 setup thread group 和 teardown thread group 就是分別指這兩部分。 其實從本質上來看,他們並沒有什么不同。
3) thread group(線程組).
這個就是我們通常添加運行的線程。通俗的講一個線程組,,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。線程組中包含的線程數量在測試執行過程中是不會發生改變的。
取樣器(Sample)是性能測試中向服務器發送請求,記錄響應信息,記錄響應時間的最小單元,JMeter 原生支持多種不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一種不同類型的 sampler 可以根據設置的參數向服務器發出不同類型的請求。(在jmeter 的所有sampler 中,Java Request Sampler 和 Beanshell Request Sampler 是兩種特殊的可定制的 Sampler ,后面會深入討論。)