jmeter如何定位網絡延時_JMeter用戶定義變量和properties變量高級使用

099581fc208e502c4d5cbd4fba1eee8e.png

Jmeter有個配置元素叫做用戶自定義變量(英文名稱是UserDefinedVariables)而我們提到的vars即是Variables的簡寫。

之前我們也說到過Jmeter的腳本中(jsr223sampler或者beanshell編寫的腳本)使用varsput和varsget的操作(varsget和put的操作僅在threadgroup測試組線程中執行,所以結果的改變也僅影響該threadGroup,所以不是跨線程組的。需要跨線程組的的變量共享則可以使用prop,vars和props的使用可見vars和props使用對比1和vars和props使用對比2)。那“用戶自定義變量”和腳本中的vars操作這2個關系是如何的呢?

1)Userdefinedvariables(用戶自定義變量)jmeter的處理是非常簡單粗暴的,不管該元素位于哪個位置,例如位于threadgroup,還是在threadgroup外面的testplan中,位于threadgroup的執行順序的最下面還是最上面。jmeter在啟動并開始執行腳本之前,實際上對所有的用戶配置類元素,全部初始化操作。

例如

TestPlan

? ? - User defined vars1(定義了var1=test)

? ? - threadgroup1

? ? ? ? - User defined vars2(定義var2=test2)

? ? - threadgroup2

則執行時,Userdefinedvars1和Userdefinedvars1都執行了初始化操作。同時threadgroup1和threadgroup2中均可以看到var1和var2.Userdefinedvars(用戶自定義變量)初始化后,會將所有的定義變量copy到每一個線程組中,所以每一個線程組都可以看到userdefindvars(用戶自定義變量)定義的參數。

2)jmeter腳本中(jsr223sampler或者beanshell編寫的腳本)的vars.put操作,例如vars.put(“var1″,”changedvar1″),僅會修改該腳本執行的線程組的變量。

例如

TestPlan

? ? - User defined vars1(定義了var1=test)

? ? - threadgroup1

? ? ? ? - User defined vars2(定義var2=test2)

? ? ? ? - vars.put("var1","changedvar1")

? ? ? ? - Debug sampler1

? ? - threadgroup2

? ? ? ? - Debug sampler2

? ? ? ? ? ? - sleep 5秒(等待 threadgroup1 執行完成后,用于確認threadgroup1 中的vars.put 是否對threadgroup2的vars 變量有影響)

則執行后。
threadgroup1 中可見 var1=changedvar1 , var2=test2
threadgroup2 中可見 var1=test,var2=test2

3) 那么我們再來看下user defined vars(用戶自定義變量)元素定義的變量var和jmeter 腳本中定義var的區別。

jmeter腳本重定義var 僅在自己所屬的線程組有效,不是全局的。而 user defind vars(用戶自定義變量)定義的是全局(全局的驗證,在2部分已經可以看到)

TestPlan

? ? - User defined vars1(定義了var1=test)

? ? - threadgroup1

? ? ? ? - vars.put("var1","changedvar1")

? ? ? ? - vars.put("var3","test3")

? ? ? ? - Debug sampler1

? ? - threadgroup2

? ? ? ? - Debug sampler2

? ? ? ? ? ? - sleep 5秒(等待 threadgroup1 執行完成后,用于確認threadgroup1 中的vars.put 是否對threadgroup2的vars 變量有影響)

則執行后,
threadgroup1 中可見 var1=changedvar1 , var3=test3
threadgroup2 中可見 var1=test

因此我們在使用user defined vars可以統一寫在一個地方,便于腳本的梳理。 而腳本中vars.get,vars.put 的處理僅對線程組內有效(包括listener監聽器中的vars.get, vars.put)。 這樣我們在腳本開發中就會更清晰和方便定位問題了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html5與跨平臺開發,HTML5應用與跨平臺應用開發

本課程將總體講解開發HTML5應用和跨平臺應用的方法,共分成三部分。第一部分為HTML5開發基礎,帶你分析并掌握多種移動開發技術和設計方式;第二部分為HTML5高級應用,講解在HTML5中調用其它應用或服務的方法;第三部分為跨…

jQuery中的幾個模塊總結

Query插件,以備并希望在前端方面有所長進。請批評指正。 一,類型判斷全解 JQuery判斷類型擴展方法:$.type() 1 /*type: function( obj ) { 2 if ( obj null ) { 3 return obj ""; 4 } …

python實現連續數列相加_技術 | Python經典面試題解析實現斐波那契數列

黑馬程序員微信號:heiniu526傳智播客旗下互聯網資訊,學習資源免費分享平臺大家在面試過程中經常會考到斐波那契數列,斐波那契數列(Fibonacci)最早由印度數學家Gopala提出,而第一個真正研究斐波那契數列的是意大利數學家 Leonardo …

廣西2021高考成績位次查詢,2020年廣西高考一分一段表及高考位次成績排名查詢(理科+文科)...

一、2020年廣西高考一分一段表查詢排名方法廣西招辦(考試院)會公布的省市高考每一分分數的考生數額統計表就是我們所說的——高考“一分一段表”,其顯示出每一分的分數值全省考生有多少名,就可以讓考生估算出自己的排名位次。2020年廣西高考一分一段表排…

PV公式

IP(獨立IP): 即Internet Protocol,指獨立IP數。00:00-24:00內相同IP地址之被計算一次。PV(訪問量): 即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次。UV(獨立訪客):即Unique Visitor,訪問您網站的一臺電腦客戶端為…

csv文件 內容轉義_CSV文件如何同時轉義逗號和雙引號?

小編典典有幾個庫。這是兩個示例:阿帕奇共享郎包括一類特殊的逃避或UNESCAPE字符串(CSV,EcmaScript的,HTML,Java和JSON,XML)org.apache.commons.lang3.StringEscapeUtils 。轉義 為CSVString escaped StringEscapeUti…

臺式計算機單核與雙核,什么是單核cpu、雙核cpu 單核cpu和雙核cpu的區別是什么...

在買電腦的時候,我們經常會發愁,究竟是買單核cpu好,還是買雙核cpu比較好,尤其是面對售貨員把單核cpu電腦和雙核cpu電腦都可以夸的天花亂墜的時候,我們更糊涂了,究竟買哪種好呢?針對這種情況,小…

當用DJANGO的migrate不成功時。。。。

URL:http://my.oschina.net/u/862582/blog/355421 因為操作SQL數據庫時不規范,或是多人開發時產生了同步問題,就可能導致正規的MIGRATE時不能完成。 已其修改,不如直接生成SQL之后運行。。 記住語法即可。。。 python manage.py sqlmigrate a…

R語言seqm_R語言seq()函數用法

1、seq()用來生成一組數字的函數。Usage:## Default S3 method:seq(from 1, to 1, by ((to - from)/(length.out - 1)),length.out NULL, along.with NULL, ...)seq.int(from, to, by, length.out, along.with, ...)seq_along(along.with)seq_len(length.out)A…

美國計算機生物學要求,美國大學CS專業分支生物信息學和計算生物學專業 Bioinformatics and Computational Biology介紹...

美國留學申請美國大學計算機專業(CS)的學生非常多。美國大學CS專業的研究分支也非常 多,不同分支對學生的要求也會不同,因此,學生們要根據自己的條件選擇適合自己的研究方向。下面主要為大家介紹的是美國大學CS專業分支生物信息學和計算生物學…

Spark入門實戰系列--8.Spark MLlib(上)--機器學習及SparkMLlib簡介

【注】該系列文章以及使用到安裝包/測試數據 可以在《傾情大奉送--Spark入門實戰系列》獲取 1、機器學習概念 1.1 機器學習的定義 在維基百科上對機器學習提出以下幾種定義: l“機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能&#xff0c…

cadz軸歸零命令_CAD圖形Z軸坐標歸零方法

AutoCAD2012 64位精簡版中文免安裝版軟件大小:561.5M授權方式:免費軟件立即下載CAD軟件怎樣將圖形坐標Z軸歸零?當我們遇到CAD圖形標高一致的時候,如果想要讓圖形統一標高,就需要先將圖形坐標Z軸歸零。本次小編為您整理了CAD軟件里…

net以execl做數據庫_[原創]Net實現Excel導入導出到數據庫(附源碼)

關于數據庫導出到Excel和SQLServer數據導出到Excel的例子,在博客園有很多的例子,自己根據網上搜集資料,自己做了亦歌簡單的demo,現在分享出來供初學者學習交流使用。一、數據庫導入導出到Excel,比較流行的有兩種方式&a…

計算機基礎cpu知識,CPU基礎知識: DIY裝機小白必看的CPU知識掃盲

CPU也就是中央處理器,全拼為Central Processing Unit,在計算機中可以比喻成人的大腦。它是一塊超大規模的集成電路,是一臺計算機的運算核心和控制核心。它的功能主要是解釋計算機指令以及處理計算機軟件中的數據。下面華強電子網的小編分享一…

const 用法

static NSString * const testString "google"; //表示testString這個指針不能被修改,如若對testString賦值則會報錯:testString = "hello";編譯器會報錯 static NSString const *testString "google"; //表…

mvc html validator,ASP.NET MVC實現Validation驗證器擴展

今天介紹在ASP.NET MVC實現Validation驗證器擴展,通過使用Controller驗證并不是最好的方法:驗證過于分散,容易造成重復代碼,不利于維護與擴展,因此本節將使用MVC默認綁定器(DefaultModelBinder)中包含了驗證架構,并實現Validation驗證器擴展&…

git 幾種還原版本_Git恢復之前版本的兩種方法reset、revert(圖文詳解)

一、問題描述在利用github實現多人合作程序開發的過程中,我們有時會出現錯誤提交的情況,此時我們希望能撤銷提交操作,讓程序回到提交前的樣子,本文總結了兩種解決方法:回退(reset)、反做(revert)。二、背景知識git的版…

自定義列表視圖

通過繼承BaseAdapter寫一個子類,可以創建自定義列表視圖: public class MyListAdapter extends BaseAdapter { private LayoutInflater mInflater;//聲明一個LayoutInflater類變量 private Context mContext;//聲明一個Context類變量 priva…

計算機專業答辯模板,論文答辯模板-計算機專業.ppt

《論文答辯模板-計算機專業.ppt》由會員分享,可在線閱讀,更多相關《論文答辯模板-計算機專業.ppt(9頁珍藏版)》請在裝配圖網上搜索。1、基于S2SH論壇系統的設計與實現,專業: 姓名: 學號: 指導教師:,(附)論文…

springmvc請求返回一個字符_SpringMVC系列之Web利器SpringMVC

課程簡介:課程目標:了解SpringMVC和Spring的關系,能夠使用SpringMVC框架開發自己的Web應用。整合Spring , SpringMVC , MyBatis搭建項目開發環境,理解三層架構和MVC模式適用人群:適合對Java基礎知識應用自如&#xff0…