黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

JMeter學(xué)習(xí)(二)搭建骨架--JMeter重要組件

系統(tǒng) 2143 0

JMeter的屬性和變量

JMeter屬性統(tǒng)一定義在jmeter.properties文件中。JMeter屬性在測(cè)試腳本的任何地方都是可見的(全局),通常被用來(lái)定義 一些JMeter使用的默認(rèn)值。例如,屬性remote_hosts定義了JMeter在遠(yuǎn)程模式下運(yùn)行的服務(wù)器地址。屬性可以在測(cè)試計(jì)劃中引用,但是不能作為特定線程的變量值。

JMeter變量對(duì)于測(cè)試線程而言是局部變量。這就意味著JMeter變量在不同測(cè)試線程中,既可以是完全相同的,也可以是不同的。

通過(guò)測(cè)試計(jì)劃和"用戶定義的變量"(配置元件)兩種方式定義的變量,在JMeter啟動(dòng)時(shí)對(duì)這個(gè)測(cè)試計(jì)劃都是可見的。如果同一個(gè)變量在多個(gè)"用戶定 義的變量"(配置元件)中被定義,那么只有最后一個(gè)定義會(huì)生效。一旦某個(gè)線程啟動(dòng)后,那么整個(gè)變量集合的初始值就會(huì)被復(fù)制到該線程中。其他測(cè)試元件,例 如"用戶變量"(前置處理器)或者"正則表達(dá)式提取器"(后置處理器)可以被用來(lái)重新定義變量(或者創(chuàng)建新變量),這些重定義僅僅影響當(dāng)前線程。

可以通過(guò)_setProperty 函數(shù)來(lái)定義JMeter屬性。JMeter屬性對(duì)于整個(gè)測(cè)試計(jì)劃都是可見的(全局),因此可以用于在線程間傳遞信息(這種情況并不多見)。

屬性和變量都是大小寫敏感的。

取樣器( Sampler

取樣器( Sampler )是性能測(cè)試中向服務(wù)器發(fā)送請(qǐng)求,記錄響應(yīng)信息,記錄響應(yīng)時(shí)間的最小單元, JMeter 原生支持多種不同的 sampler ,如 HTTP Request Sampler FTP Request Sampler TCP Request Sampler JDBC Request Sampler 等,每一種不同類型的 sampler 可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請(qǐng)求。

定時(shí)器( Timer

定時(shí)器( Timer )用于操作之間設(shè)置等待時(shí)間,等待時(shí)間是性能測(cè)試中常用的控制客戶端 QPS 的手端。類似于 LoadRunner 里面的 思考時(shí)間 JMeter 定義了 Bean Shell Timer Constant Throughput Timer 、固定定時(shí)器等不同類型的 Timer

前置處理器( Per Processors

用于在實(shí)際的請(qǐng)求發(fā)出之前對(duì)即將發(fā)出的請(qǐng)求進(jìn)行特殊處理。例如, HTTP URL 重寫修復(fù)符則可以實(shí)現(xiàn) URL 重寫,當(dāng) URL 中有 sessionID 一類的 session 信息時(shí),可以通過(guò)該處理器填充發(fā)出請(qǐng)求的實(shí)際的 sessionID

后置處理器( Post Processors

用于對(duì) Sampler 發(fā)出請(qǐng)求后得到的服務(wù)器響應(yīng)進(jìn)行處理。一般用來(lái)提取 響應(yīng)中的特定數(shù)據(jù)(類似 LoadRunner 測(cè)試工具中的關(guān)聯(lián)概念)。例如, XPath Extractor 則可以用于提取響應(yīng)數(shù)據(jù)中通過(guò)給定 XPath 值獲得的數(shù)據(jù)。

元件的作用域

JMeter中共有 8 類可被執(zhí)行的元件( 測(cè)試計(jì)劃與線程組不屬于元件), 這些元件中,取樣器是典型的不與其它元件發(fā)生交互作用的元件,邏輯控制器只對(duì)其子節(jié)點(diǎn)的取樣器有效,而其它元件(config?elements?、 timers?、post-processors、assertions、listeners、)需要與取樣器(sampler)等元件交互。

配置元件(config?elements? ?

  元件會(huì)影響其作用范圍內(nèi)的所有元件。

前置處理程序(Per-processors)

  元件在其作用范圍內(nèi)的每一個(gè)sampler元件之前執(zhí)行。

定時(shí)器(timers?)

  元件對(duì)其作用范圍內(nèi)的每一個(gè)sampler?有效

后置處理程序(Post-processors)

  元件在其作用范圍內(nèi)的每一個(gè)sampler元件之后執(zhí)行。

斷言(Assertions)

  元件對(duì)其作用范圍內(nèi)的每一個(gè)sampler?元件執(zhí)行后的結(jié)果執(zhí)行校驗(yàn)。

監(jiān)聽器(Listeners)

元件收集其作用范圍的每一個(gè)sampler元件的信息并呈現(xiàn)。

在jmeter中,元件的作用域是靠測(cè)試計(jì)劃的的樹型結(jié)構(gòu)中元件的父子關(guān)系來(lái)確定的,作用域的原則是:

  • ?取樣器(sampler)元件不和其它元件相互作用,因此不存在作用域的問(wèn)題。
  • ?邏輯控制器(Logic?Controller)元件只對(duì)其子節(jié)點(diǎn)中的取樣器?和?邏輯控制器作用。
  • ?除取樣器?和邏輯控制器?元件外,其他6類元件,如果是某個(gè)sampler的子節(jié)點(diǎn),則該元件公對(duì)其父子節(jié)點(diǎn)起作用。
  • ?除取樣器和邏輯控制器元件外的其他6類元件,如果其父節(jié)點(diǎn)不是sampler?,則其作用域是該元件父節(jié)點(diǎn)下的其他所有后代節(jié)點(diǎn)(包括子節(jié)點(diǎn),子節(jié)點(diǎn)的子節(jié)點(diǎn)等)。

元件的執(zhí)行順序

了解了元件有作用域之后,來(lái)看看元件的執(zhí)行順序,元件執(zhí)行順序的規(guī)則很簡(jiǎn)單,在同一作用域名范圍內(nèi),測(cè)試計(jì)劃中的元件按照如下順序執(zhí)行。

(1)配置元件(config?elements?)

(2)前置處理程序(Per-processors)

(3)定時(shí)器(timers?)

(4)取樣器(Sampler)

(5)后置處理程序(Post-processors)?(除非Sampler?得到的返回結(jié)果為空)。

(6)斷言(Assertions)(除非Sampler?得到的返回結(jié)果為空)。

(7)監(jiān)聽器(Listeners)(除非Sampler?得到的返回結(jié)果為空)。

?

關(guān)于執(zhí)行順序,有三點(diǎn)需要注意:

*??前置處理器、后置處理器和斷言等元件只能對(duì)?取樣器作用,因此,如果在它們的作用域內(nèi)沒有任何取樣器,則不會(huì)被執(zhí)行。

*??如果在同一作用域范圍內(nèi)有多個(gè)同一類型的元件,則這些元件按照它們?cè)跍y(cè)試計(jì)劃中的 上下順序一次執(zhí)行。

* ?一個(gè)斷言在測(cè)試樹中是分等級(jí)的。如果它的父元件是請(qǐng)求,它就被應(yīng)用于那個(gè)請(qǐng)求。如果它的父元件是控制器,它就影響所有那個(gè)控制器下的所有請(qǐng)求。

?

JMeter學(xué)習(xí)(二)搭建骨架--JMeter重要組件


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論