最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JMeter配置元件詳解

 更新時(shí)間:2021年12月16日 10:00:13   作者:云深i不知處  
JMeter提供了豐富的配置元件,常用的包括參數(shù)化配置元件、HTTP請(qǐng)求默認(rèn)值、HTTP信息頭管理器、計(jì)數(shù)器等,本文就詳細(xì)的介紹一下這些元件的使用,感興趣的可以了解一下

1 CSV Data Set Config(參數(shù)化)

參數(shù)化配置元件(以下簡(jiǎn)稱CSV)能夠在文件中讀取一行數(shù)據(jù),根據(jù)特定的符號(hào)切割成一個(gè)或多個(gè)變量放入內(nèi)存中。相比于JMeter函數(shù)助手中提供的 __CSVRead()、__StringFromFile()函數(shù),CSV使用更加簡(jiǎn)便。而且,CSV非常適合處理大量的數(shù)據(jù),也適用于生成“隨機(jī)值”、“唯一值”這張的變量。
JMeter支持?jǐn)?shù)據(jù)被雙引號(hào)括起,被雙引號(hào)括起的數(shù)據(jù)允許包含分隔符,例如:a,b,"c,d"

這行數(shù)據(jù)被逗號(hào)分隔后將產(chǎn)生三個(gè)變量值,a、b、c,d

JMeter支持讀取具有標(biāo)題行(標(biāo)題行的內(nèi)容是列名稱)的CSV文件,要啟用此功能,要將【Variable Names】留空,并且提供正確的分隔符。

在這里插入圖片描述

參數(shù)詳解

參 數(shù) 描 述 必 須
Name 腳本中顯示的這個(gè)元件的描述性名稱
Filename 待讀取文件的名稱??梢詫懭虢^對(duì)路徑,也可以寫入相對(duì)路徑(相對(duì)于bin目錄),如果直接寫文件名,則該文件要放在bin目錄中。對(duì)于分布式測(cè)試,主機(jī)和遠(yuǎn)程機(jī)中相應(yīng)目錄下應(yīng)該有相同的CSV文件
File Encoding 文件讀取時(shí)的編碼格式,不填則使用操作系統(tǒng)的編碼格式
Ignore first line 是否忽略首行,如果csv文件中沒有表頭,則選擇false
Variable Names 變量名列表,多個(gè)變量名之間必須用分隔符分隔。如果該項(xiàng)為空,則文件首行會(huì)被讀取并解析為列名列表
Delimiter 參數(shù)分隔符,將一行數(shù)據(jù)分隔成多個(gè)變量,默認(rèn)為逗號(hào),也可以使用“\t”。如果一行數(shù)據(jù)分隔后的值比Vairable Names中定義的變量少,這些變量將保留以前的值(如果有值的話)
Allow quoted data? 是否允許變量使用雙引號(hào),允許的話,變量將可以括在雙引號(hào)內(nèi),并且這些變量名可以包含分隔符
Recycle on EOF? 是否循環(huán)讀取csv文件內(nèi)容,默認(rèn)為 true
Stop thread on EOF? 是否循環(huán)讀取csv文件內(nèi)容,默認(rèn)為 true
Recycle on EOF? 當(dāng)Recycle on EOF為False時(shí),停止線程,當(dāng)Recycle on EOF為True時(shí),此項(xiàng)無(wú)意義,默認(rèn)為 false
Sharing mode 1、All threads(默認(rèn)):一個(gè)線程組內(nèi),各個(gè)線程(用戶)唯一順序取值;2、current thread:一個(gè)線程組內(nèi),各個(gè)線程(用戶)各自順序取值;3、線程組各自獨(dú)立,但每個(gè)線程組內(nèi)各個(gè)線程(用戶)唯一順序取值;

示例,注意【Sharing mode】為All threads:

在這里插入圖片描述

file.txt中內(nèi)容:

在這里插入圖片描述

添加【Debug Sampler】后,設(shè)置線程組線程數(shù)為2,循環(huán)次數(shù)為2,運(yùn)行腳本

在這里插入圖片描述

查看結(jié)果樹,4次運(yùn)行結(jié)果依次是:

var1=a1 var2=b1 var3=c1
var1=a2 var2=b2 var3=c2
var1=a3 var2=b3 var3=c3
var1=a1 var2=b1 var3=c1

在這里插入圖片描述

修改【Sharing mode】為【Current thread group】后,運(yùn)行結(jié)果不變,改為【Current thread】,結(jié)果變?yōu)椋?/p>

var1=a1 var2=b1 var3=c1
var1=a2 var2=b2 var3=c2
var1=a1 var2=b1 var3=c1
var1=a2 var2=b2 var3=c2

以上結(jié)果說(shuō)明,前兩種模式下,多個(gè)線程會(huì)互相影響,線程1讀取第一行數(shù)據(jù)后,線程2就會(huì)讀取第二行,線程1再次讀取時(shí)會(huì)讀取第三行,以此類推。第三種模式下,各個(gè)線程互不影響,只按自身的順序去讀取文件,例如線程1讀取第一行后,下次會(huì)讀取第二行,線程2也是如此。

2 HTTP Cookie Manager(cookie管理器)

cookie管理器有兩個(gè)功能:

它像Web瀏覽器一樣存儲(chǔ)和發(fā)送cookie。如果有一個(gè)HTTP請(qǐng)求,并且響應(yīng)中包含一個(gè)cookie,那么cookie管理器會(huì)自動(dòng)存儲(chǔ)該cookie,并將其用于將來(lái)對(duì)該特定網(wǎng)站的所有請(qǐng)求。每個(gè)JMeter線程都有自己的“cookie存儲(chǔ)區(qū)”。因此,測(cè)試使用cookie存儲(chǔ)會(huì)話信息的網(wǎng)站,每個(gè)JMeter線程都將有自己的會(huì)話。要注意的是,此類cookie不會(huì)出現(xiàn)在cookie管理器顯示中,但可以在【查看結(jié)果樹】中查看它們。
JMeter會(huì)檢查接收到的cookie是否對(duì)URL有效,這意味著跨域cookie將不會(huì)被存儲(chǔ)。如果想要進(jìn)行竊聽行為或希望使用跨域cookie,需要定義jmeter屬性“CookieManager.check.cookies=false”。

接收到的cookie可以存儲(chǔ)為jmeter線程變量。要將cookies保存為變量,請(qǐng)定義屬性“CookieManager.save.cookies=false=true”。此外,在存儲(chǔ)cookie名稱之前,它們的前綴是“COOKIE_”(這可以避免局部變量的意外損壞)要恢復(fù)到初始狀態(tài),請(qǐng)定義屬性“CookieManager.name.prefix=”(一個(gè)或多個(gè)空格)。如果啟用,名為TEST的cookie的值可以描述為**${COOKIE_TEST}**。

其次,我們可以手動(dòng)將cookie添加到cookie管理器中。不過(guò),這樣做的話,所有JMeter線程將共享cookie。這些cookie的失效時(shí)間將會(huì)很長(zhǎng)。

默認(rèn)情況下,空值的cookie將會(huì)被忽略,可以通過(guò)設(shè)置JMeter配置文件來(lái)修改:CookieManager.delete_null_cookies=false,這也適用于手動(dòng)定義的cookie,任何此類cookie在更新時(shí)都將從顯示中被刪除。cookie名稱必須是唯一的,如果用相同的名稱定義了第二個(gè)cookie,它將替換第一個(gè)。

在這里插入圖片描述

如果一個(gè)sampler(取樣器)的作用域中有多個(gè)cookie管理器,則無(wú)法指定要使用哪個(gè)cookie管理器。另外,存儲(chǔ)在一個(gè)cookie管理器中的cookie對(duì)任何其他管理器都不可用,因此請(qǐng)小心使用多個(gè)cookie管理器。

cookie管理器參數(shù)詳解:

名稱 描述 必須
Name 腳本中顯示的這個(gè)元件的描述性名稱
Clear Cookies each Iteration 勾選此項(xiàng)后,每次執(zhí)行主線程組循環(huán)時(shí),都會(huì)清除所有服務(wù)器定義的cookie。在GUI中定義的任何cookie都不會(huì)被清除。
Cookie Policy cookie管理策略?!皊tandard”適用于大部分情況。“ignoreCookies”等同于忽略cookieManger
User-Defined Cookies 使用自定義的cookie

3 HTTP Request Defaults

HTTP請(qǐng)求默認(rèn)值,這個(gè)元件可以設(shè)置HTTP請(qǐng)求控制器使用的默認(rèn)值。例如,圖中【服務(wù)器名稱或IP】項(xiàng)目?jī)?nèi)填入了【example.com】,后面的HTTP請(qǐng)求如果IP也是example.com的話,那么只要將【服務(wù)器名稱或IP】留空,那么這個(gè)字段將自動(dòng)繼承HTTP請(qǐng)求默認(rèn)值中的值。其他諸如【協(xié)議】、【端口號(hào)】、【路徑】等同此。
HTTP請(qǐng)求默認(rèn)值可以極大地增強(qiáng)復(fù)用性,簡(jiǎn)化腳本編寫。

在這里插入圖片描述

在這里插入圖片描述

4 HTTP Header Manager(信息頭管理器)

信息頭管理器,支持用戶添加或者重寫HTTP請(qǐng)求頭。JMeter支持多個(gè)信息頭管理器。多個(gè)信息頭條目合并成一個(gè)信息頭列表,跟隨http請(qǐng)求一并提交到服務(wù)端。
經(jīng)過(guò)實(shí)測(cè),總結(jié)出規(guī)則如下:

當(dāng)有多個(gè)信息頭管理器,且不同的管理器內(nèi)有名稱相同的信息頭條目存在時(shí),順序靠前的管理器的信息頭條目會(huì)覆蓋后面的;

在這里插入圖片描述

在這里插入圖片描述

例如上圖,運(yùn)行后,查看結(jié)果樹:

在這里插入圖片描述

當(dāng)只有一個(gè)信息頭管理器,但管理器內(nèi)有名稱相同的信息頭條目時(shí),會(huì)同時(shí)生效;
將上面腳本中的HTTP信息頭管理器1禁用,再次運(yùn)行腳本,查看結(jié)果樹:

在這里插入圖片描述?

5 Counter(計(jì)數(shù)器)

計(jì)數(shù)器,可以在線程組任何位置創(chuàng)建,允許用戶配置起點(diǎn)、最大值和增量。配置后,計(jì)數(shù)器將從起點(diǎn)循環(huán)到最大值,然后重新開始,直到線程結(jié)束。

在這里插入圖片描述

計(jì)數(shù)器參數(shù)詳解:

名稱 描述 必須
Name 腳本中顯示的這個(gè)元件的描述性名稱
Starting value 計(jì)數(shù)器的起始值,默認(rèn)為0
Increment 每次迭代計(jì)數(shù)器的增量,默認(rèn)為0,表示無(wú)增量
Maximum value 計(jì)數(shù)器最大值,到此值后將從起始值重新開始計(jì)數(shù),默認(rèn)為L(zhǎng)ONG.MAX_VALUE
Number Format 可選格式,例如000將格式化為001、002等。這將傳遞給decimalFormat,因此可以使用任何有效格式。如果在解釋格式時(shí)出現(xiàn)問(wèn)題,則忽略該格式。[默認(rèn)格式是使用long.toString()生成的]
Exported Variable Name 引用名稱,如果將它命名為count,后面可以用${count}引用它,不建議用空字符串,雖然空值也可以使用
Track Counter Independently for each User 如果勾選此項(xiàng),則計(jì)數(shù)器為全局計(jì)數(shù)器(即,用戶1將獲得值“1”,用戶2將在第一次迭代時(shí)獲得值“2”)。如果選中,則每個(gè)用戶都有一個(gè)獨(dú)立的計(jì)數(shù)器。
Reset counter on each Thread Group Iteration 此選項(xiàng)僅在勾選【Track Counter Independently for each User】時(shí)可用,如果選中此選項(xiàng),則計(jì)數(shù)器將重置為每個(gè)線程組迭代的起始值。當(dāng)計(jì)數(shù)器在循環(huán)控制器中時(shí),這可能很有用。

實(shí)際工作中,計(jì)數(shù)器一般和邏輯控制器配合使用,例如下面的腳本:

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

運(yùn)行腳本,查看結(jié)果樹。分析一下這個(gè)運(yùn)行結(jié)果:

  • 第1次循環(huán),count=1,不滿足if控制器1條件,滿足if控制器2條件,執(zhí)行了控制器2下的取樣器;
  • 第2次循環(huán),count=2,不滿足if控制器1條件,滿足if控制器2條件,執(zhí)行了控制器2下的取樣器;
  • 第3次循環(huán),count=3,滿足if控制器1條件,也滿足if控制器2條件,執(zhí)行了控制器1和控制器2下的取樣器;
  • 第4次循環(huán),count=4,不滿足if控制器1條件,滿足if控制器2條件,執(zhí)行了控制器2下的取樣器;
  • 第3次循環(huán),count=5,不滿足if控制器1條件,也不滿足if控制器2條件,兩個(gè)if控制器下的取樣器都沒有執(zhí)行;

在這里插入圖片描述

到此這篇關(guān)于JMeter配置元件詳解的文章就介紹到這了,更多相關(guān)JMeter 元件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼流程解析

    Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼流程解析

    這篇文章主要介紹了Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼,通過(guò)本文學(xué)習(xí)下AuthenticationProvider接口的類關(guān)系圖,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • protobuf與json轉(zhuǎn)換小結(jié)

    protobuf與json轉(zhuǎn)換小結(jié)

    protobuf對(duì)象不能直接使用jsonlib去轉(zhuǎn),因?yàn)閜rotobuf生成的對(duì)象的get方法返回的類型有byte[],而只有String類型可以作為json的key,protobuf提供方法進(jìn)行轉(zhuǎn)換
    2017-07-07
  • MybatisGenerator文件生成不出對(duì)應(yīng)文件的問(wèn)題

    MybatisGenerator文件生成不出對(duì)應(yīng)文件的問(wèn)題

    本文介紹了使用MybatisGenerator生成文件時(shí)遇到的問(wèn)題及解決方法,主要步驟包括檢查目標(biāo)表是否存在、是否能連接到數(shù)據(jù)庫(kù)、配置生成器的路徑等,通過(guò)在項(xiàng)目結(jié)構(gòu)中引入相應(yīng)的jar包,并在GeneratorSqlmap.java文件中運(yùn)行,可以成功生成對(duì)應(yīng)的文件
    2025-01-01
  • MyBatis分頁(yè)插件PageHelper的使用與原理

    MyBatis分頁(yè)插件PageHelper的使用與原理

    提到插件相信大家都知道,插件的存在主要是用來(lái)改變或者增強(qiáng)原有的功能,MyBatis中也一樣,下面這篇文章主要給大家介紹了關(guān)于Mybatis第三方PageHelper分頁(yè)插件的使用與原理,需要的朋友可以參考下
    2023-02-02
  • Java實(shí)現(xiàn)Excel數(shù)據(jù)驗(yàn)證功能

    Java實(shí)現(xiàn)Excel數(shù)據(jù)驗(yàn)證功能

    在Java中,開發(fā)者可以使用一些開源的庫(kù)(如Apache POI)來(lái)添加、修改和處理Excel中的數(shù)據(jù),下面我們就來(lái)看看如何使用Java實(shí)現(xiàn)添加,修改和刪除Excel數(shù)據(jù)驗(yàn)證吧
    2023-10-10
  • 使用SpringCache操作Redis緩存數(shù)據(jù)的示例代碼

    使用SpringCache操作Redis緩存數(shù)據(jù)的示例代碼

    SpringCache是一個(gè)框架,實(shí)現(xiàn)了基于注解的緩存功能,只需要簡(jiǎn)單的加一個(gè)注解,就能實(shí)現(xiàn)緩存功能,本文給大家介紹了如何使用SpringCache操作Redis緩存數(shù)據(jù),文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-01-01
  • Maven生命周期和及插件原理用法詳解

    Maven生命周期和及插件原理用法詳解

    這篇文章主要介紹了Maven生命周期和及插件原理用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值的相關(guān)資料
    2020-08-08
  • java后臺(tái)接收app上傳的圖片的示例代碼

    java后臺(tái)接收app上傳的圖片的示例代碼

    本篇文章主要介紹了java后臺(tái)接受app上傳的圖片的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java基礎(chǔ)學(xué)習(xí)之集合底層原理

    Java基礎(chǔ)學(xué)習(xí)之集合底層原理

    今天帶大家回顧Java基礎(chǔ)的相關(guān)知識(shí),文中對(duì)集合底層原理作了非常詳細(xì)的圖文介紹,對(duì)Java初學(xué)者有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀

    logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀

    這篇文章主要為大家介紹了logback的UNDEFINED_PROPERTY屬性源碼執(zhí)行流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論

城步| 长宁区| 新巴尔虎左旗| 德江县| 毕节市| 卓资县| 九江县| 岐山县| 凉城县| 都安| 延川县| 桃源县| 北川| 唐山市| 德格县| 贡觉县| 武宁县| 五大连池市| 江口县| 漳平市| 固安县| 班戈县| 舒兰市| 汉阴县| 南充市| 台山市| 衡东县| 凯里市| 沁阳市| 全椒县| 盖州市| 泗水县| 江山市| 宜兰县| 清苑县| 新疆| 兴山县| 富顺县| 华坪县| 福鼎市| 乐至县|