常看到的jmeter測試例子,都是用固定的url(包括固定的引數)。現在我有這樣乙個測試需求:為了模擬使用者輸入的引數對某個url進行負載測試(或壓力測試)。使用者訪問的url(主要的就是引數)可以在web伺服器的訪問日誌的分解得到,這樣測試資料準備好,現要jmeter根據這些測試資料去做負載測試。
找了一些資料,找到了解壓方案:用jmeter提供的csv data set config,它可以為每乙個執行緒的每乙個測試(取樣)給新的一行資料。然後在在取樣器裡用${}方式來引用它們。
一般 csv 中的行數都會大於執行緒數,可以把測試任務放到乙個迴圈控制器中,下面來演示下建立乙個這樣的測試計畫:
1、乙個執行緒組
用5個執行緒,這5個執行緒20秒內啟動完,僅做一次。
2、建立乙個迴圈控制器
每個執行緒迴圈2次,這樣就相當與對伺服器2*5=10次請求,csv 資料一般會多於10行記錄。
3、建立乙個 csv data set config
demo_test.csv 檔案放到 「demo 測試計畫.jmx」的相同目錄,檔案編寫用gbk,測試計畫可引用的屬性名是sub_url(多個用逗號分隔,一般有多少列資料就有多少屬性),資料分隔用\t(tab)。
4、建立乙個http 請求(取樣器)
路徑中引用 csv 中的資料,$。
5、建立乙個斷言
我這裡伺服器有錯是返回非200的響應**是正確的。
現在就配好了,可以在demo_test.csv檔案裡加些引數,然後試用下,在察看結果樹可以看到伺服器返回的結果,同時可以驗證下是否每個執行緒的每次請求是否為csv中的新一行。
Jmeter進行效能測試
一 分布式壓測 在單機上通過jmeter做效能測試,由於受到記憶體 cpu 網路io的限制,會出現伺服器壓力還沒有上去,但壓測伺服器已經由於模擬的壓力太大 例如併發數太大 導致宕機的情況 因此這種情況下,可以通過多台機器模擬負載實現分布式壓測。分布式壓測需要server 控制機 和agent 壓力機...
jmeter 引數化測試
變數的值可以不改變,可以被定義一次,如果不使用,不會改變值。在測試計畫中,變數可以做為方便的頻繁使用的表示式,或都作為在測試執行中的可能會改變的常量,例如 執行緒組中線程的數量 主機名稱 在確定乙個測試計畫結構時,考慮哪些資料是常量但可能會在執行中改變,確定變數的名稱,可能會使用字首c 或k 或大寫...
Jmeter進行介面流程測試
jmeter進行簡單的流程測試 總的如下 一 測試計畫 使用者定義的變數中,我定義了3個變數 二 http cookie管理器 填寫要新增的cookie 三 jdbc connection configuration 四 新增文章 title為測試計畫中的時間戳變數。在有些系統有重複資料校驗時一般可...