jmeter部分功能介紹(一)

1、線程組:代表一定數量的併發用戶,可以用來模擬併發用戶發送請求。

     添加路徑:Test Plan(鼠標右擊) -> 添加  ->Threads(Users) -> 線程組

    包含配置信息:線程數、Ramp-Up Period(in seconds)、循環次數

     配置信息功能介紹:

         A:線程數:表示操作系統能夠進行運算調度順序的控制流的個數

         B:Ramp-Up Period(in seconds):表示在指定時間內創建完所有的線程;例如有8個線程,Ramp-Up time=200秒,10個                     線程在20s內完成啓動,那麼線程的啓動時間間隔爲20/10=2秒。這樣的好處是在一開始的時候不會對服務器有太大的                   負載。

         C:循環次數:控制執行每個線程循環的次數,如果有200個線程,循環次數爲100次,則總請求數爲2萬個。如果不填默認                  爲永遠循環,如果選“永遠”,那麼會一直髮送請求,直到選擇停止運行腳本。

 

2、取樣器:模擬各種請求。所有實際的測試任務都由取樣器承擔,存在很多種請求。如:HTTP 、Java、ftp請求等等

      添加路徑:一般都是在線程組==》添加==>Sampler(取樣器)==》添加對應的請求

 

3、jmeter參數化:用戶定義的變量、函數生成器、讀取文件

         A:用戶定義的變量:添加配置元件-用戶定義的變量

         使用方法:${參數名稱},使用在請求中

 

      B:函數生成器

需要用到函數助手功能,可以調用函數生成一些有規則的數據。常用的幾個函數有_uuid、_random、_time。_uuid會生成一個隨機唯一 的id,比如在避免java請求重發造成未處理數據太多的情況,接口請求可加一個唯一的請求id唯一的響應id進行一一對應;隨機數_random,可以 在你指定的一個範圍裏取隨機值;取當前時間_time,一些時間類的入參可以使用,如{__time(,)} 是生成精確到毫秒的時間戳、{__time(/1000,)}是生成精確到秒的時間戳、${__time(yyyy-MM-dd HH:mm:ss,)} 是生成精確到秒的當前時間。

 

      C:引入csv文件參數化

         不做介紹

 

      D:jmeter關聯:前後2個接口之間的關聯,後一個接口需要使用前一個接口的返回值中的指定值,比如登錄接口、購買商品               接口;

         

          jmeter關聯可以通過正則表達式提取器和json path extractor(不做介紹,因爲還沒有用到)來完成。

 

          (1)正則表達式提取器:

 

備註:關於正則表達式

 

():括起來的部分就是要提取的。 

.:匹配除換行外的任何字符串。 

+:代表+號前面的字符必須至少出現一次(一次或多次)。 

?:代表?前面的字符最多可以出現一次,在找到第一個匹配項後停止(0次或1次)。 

:代表號前面的字符可以不出現,也可以出現一次或者多次(0次、1次或者多次) 

(.*):貪婪模式,匹配儘可能多的字符 

(.*?)或(.+?):匹配儘可能少的字符,一旦匹配到第一個就不往下走了。

 

注意:如果有響應數據只有數字,譬如返回的是個100, 就不能用.*?,因爲?會取最小值,所以去掉就好,改爲 (.*)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章