日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Jmeter】Jmeter:体系结构

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jmeter】Jmeter:体系结构 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

一、Jmeter 結(jié)構(gòu)圖(x/y/z 三維空間圖)??

二、Y 空間

三、Z 空間

四、X 空間

(一)X1 空間

(1)取樣器?????????????(2)斷言???????????????(3)監(jiān)聽(tīng)器

(二)X2 空間

(1)前置處理器??????(2)配置元件?????????(3)后置處理器

(三)X3?空間

邏輯控制器

(四)X4?空間

定時(shí)器

(五)X5?空間

線程組

一、Jmeter 結(jié)構(gòu)圖(x/y/z 三維空間圖)??
X 空間:分為 5 個(gè)維度(X1/X2/X3/X4/X5)
Y 空間:分為 2 個(gè)維度(Y1/Y2)
Z 空間:分為 1 個(gè)維度(Z)
??? ?Y1?? ?Y2?? ?Z
X1?? ?取樣器?? ?斷言?? ?監(jiān)聽(tīng)器
X2?? ?前置處理器、配置元件、后置處理器?? ???? ?

X3?? ?邏輯控制器?? ??
X4?? ?定時(shí)器?? ??
X5?? ?線程組
二、Y 空間
Y1:包含的是負(fù)載模擬部分,負(fù)責(zé)模擬用戶請(qǐng)求。
Y2: 結(jié)果驗(yàn)證部分,負(fù)責(zé)驗(yàn)證結(jié)果正確性。
三、Z 空間
Z: 負(fù)載結(jié)果的收集,實(shí)踐上只有一個(gè)組成部分一一 監(jiān)聽(tīng)器 ,監(jiān)聽(tīng)器不僅可以放在線程組之內(nèi),
也可以放在線程組之外,所以在圖中我們看到它們是相交的。
四、X 空間
(一)X1 空間
【取樣器】、【斷言】、【監(jiān)聽(tīng)器】組合在一起就可以幫我們完成發(fā)送請(qǐng)求、驗(yàn)證結(jié)果及記錄結(jié)果三項(xiàng)工作。
(1)取樣器
取樣器的訪問(wèn)路徑:
英文:[Test Plan]-[Thread Group]-[Add]-[Sampler]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[取樣器]
取樣器(又譯采樣器):
1、用來(lái)模擬用戶操作,向服務(wù)器(被測(cè)試系統(tǒng))發(fā)出 Http 請(qǐng)求、 WebService (SOAP/XML-RPC Request) 請(qǐng)求或者 Java 請(qǐng)求等。

2、我們可以把 Http 請(qǐng)求元件看成是一個(gè)沒(méi)有界面的瀏覽器,它可以發(fā)送 Http 請(qǐng)求,接收服務(wù)器的響應(yīng)數(shù)據(jù)。
JMeter 5.0 版本提供的取樣器元件有 24 個(gè),基本涵蓋了我們常見(jiàn)的各種協(xié)議:
Http 、FTP 、JAVA 、JMS 、LDAP 、 MAIL 、MongoDB 、SMTP 、SOAP 、TCP 、Junit 等,
還支持BeanShell腳本。


JMeter 5.0 版本提供的取樣器元件有 24 個(gè),基本涵蓋了我們常見(jiàn)的各種協(xié)議:
Http 、FTP 、JAVA 、JMS 、LDAP 、 MAIL 、MongoDB 、SMTP 、SOAP 、TCP 、Junit 等,
還支持BeanShell腳本。

?(2)斷言
斷言的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Assertions]
中文:[測(cè)試計(jì)劃]-[添加]-[斷言]
?
斷言的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Assertions]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[斷言]
斷言:
1、用來(lái)驗(yàn)證結(jié)果是否正確,可以幫助我們來(lái)判斷請(qǐng)求是否成功返回且是否符合要求。
?
2、和 LoadRunner 的檢查點(diǎn)一樣功能,在 JMeter 中我們不叫檢查點(diǎn),稱(chēng)作斷言。
?
3、說(shuō)白了就是用一個(gè)預(yù)設(shè)的結(jié)果(值、表達(dá)式、時(shí)間長(zhǎng)短等條件)與實(shí)際結(jié)果匹配,匹配到則成功,反之失敗。


JMeter 5.0 版本的斷言元件有 13 個(gè),比如響應(yīng)斷言、XML 斷言、 BeanShell 斷言,其中較常用的是響應(yīng)斷言;
對(duì)于復(fù)雜的斷言還可以通過(guò) BeanShell 腳本來(lái)完成 (BeanShell 是類(lèi) Java 的腳本語(yǔ)言,實(shí)際上 BeanShell 是一個(gè)小巧的 Java?
源碼解釋器,可以直接調(diào)用 Java 程序,具體有關(guān) BeanShell 的內(nèi)容請(qǐng)到官網(wǎng) http://www.beanshell.org/ 了解)。

?(3)監(jiān)聽(tīng)器
監(jiān)聽(tīng)器的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Listener]
中文:[測(cè)試計(jì)劃]-[添加]-[監(jiān)聽(tīng)器]
?
監(jiān)聽(tīng)器的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Listener]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[監(jiān)聽(tīng)器]
監(jiān)聽(tīng)器:
1、JMeter 的測(cè)試結(jié)果需要添加監(jiān)聽(tīng)器來(lái)收集, JMeter 結(jié)果收集程序的設(shè)計(jì)模式就是監(jiān)聽(tīng)器模式。?
?
2、JMeter 的監(jiān)聽(tīng)器有兩個(gè)任務(wù):
(1) 添加結(jié)果監(jiān)聽(tīng),并且可以保存測(cè)試結(jié)果到文件,這些結(jié)果數(shù)據(jù)可以供再次分析使用。?
(2) 展示結(jié)果,JMeter 可以以表格及圖形的形式展現(xiàn)結(jié)果,方便測(cè)試人員分析測(cè)試結(jié)果。?
我們?cè)陂_(kāi)發(fā)測(cè)試腳本時(shí),不可避免需要調(diào)試,監(jiān)聽(tīng)器也提供了輔助(比如察看結(jié)果樹(shù),我們以在其中看到請(qǐng)求與響應(yīng)的數(shù)據(jù))。
JMeter 監(jiān)聽(tīng)器共有 33 個(gè)元件

(二)X2 空間
【前置處理器】、【配置元件】、【后置處理器】都是為取樣器提供數(shù)據(jù)支持的,取樣器關(guān)注的是業(yè)務(wù)邏輯。
(1)前置處理器
前置處理器的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Pre Processors]
中文:[測(cè)試計(jì)劃]-[添加]-[前置處理器]
?
前置處理器的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Pre Processors]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[前置處理器]
前置處理器:
1、在測(cè)試腳本開(kāi)發(fā)過(guò)程中,我們?cè)谡?qǐng)求發(fā)送前可能會(huì)做一些環(huán)境或者參數(shù)的準(zhǔn)備工作,那么我們可以在前置處理器中來(lái)完成這些工作。
?
2、比如,我們?cè)趯?duì)數(shù)據(jù)庫(kù)進(jìn)行操作前需要先建立一個(gè)數(shù)據(jù)庫(kù)連接,那么前置處理器就可以完成這個(gè)功能。


(2)配置元件
配置元件的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Config Element]
中文:[測(cè)試計(jì)劃]-[添加]-[配置元件]
?
配置元件的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Config Element]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[配置元件]
配置元件:
1、性能測(cè)試中為了模擬大量用戶操作我們往往需要做參數(shù)化,Jmeter 的參數(shù)化可以通過(guò)配置元件來(lái)完成,
比如 CSV Data Set Config ,它可以幫助我們從文件中讀取測(cè)試數(shù)據(jù)。
?
2、另外 JMeter 也提供了眾多的函數(shù)(通過(guò)函數(shù)助手可以查看到,后續(xù)會(huì)講到〉來(lái)幫我們生成動(dòng)態(tài)數(shù)據(jù)。
?
3、當(dāng)然配置元件的作用不僅于此,它還可以用來(lái)記錄服務(wù)器的返回?cái)?shù)據(jù),比如 Http Cache Manager,
自動(dòng)記錄服務(wù)器返回的 Cache 信息。簡(jiǎn)而言之它為取樣器提供預(yù)備數(shù)據(jù),然后由取樣器發(fā)出請(qǐng)求。

(3)后置處理器
后置處理器的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Post Processors]
中文:[測(cè)試計(jì)劃]-[添加]-[后置處理器]
?
后置處理器的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Post Processors]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[后置處理器]
后置處理器:
1、后置處理器一般放在取樣器之后,用來(lái)處理服務(wù)器的返回結(jié)果,比如:
(1)一個(gè) Web 應(yīng)用程序,我們登錄后會(huì)返回一個(gè) SessionID ,這個(gè)SessionID 在登錄之后的業(yè)務(wù)操作過(guò)程中
會(huì)作為驗(yàn)證條件,驗(yàn)證用戶是否合法登錄了。
(2)我們利用取樣器模擬這個(gè)請(qǐng)求時(shí)就需要帶上這個(gè)屬性,那么如何獲取呢:?? ?
① 首先我們要知道這個(gè) SessionID 從哪里來(lái)?
——它是由服務(wù)器返回的。
② 接著我們要獲取它,用什么工具獲取呢?
——JMeter 幫我們提供了元件,比如正則表達(dá)式提取器,它支持正則表達(dá)式的方式來(lái)提取數(shù)據(jù)。
?
2、后置處理器就是專(zhuān)門(mén)用來(lái)對(duì)響應(yīng)數(shù)據(jù)做處理的元件,JMeter 的關(guān)聯(lián)就是通過(guò)后置處理器來(lái)完成的。

(三)X3?空間
邏輯控制器
邏輯控制器的訪問(wèn)路徑:
英文:[Test Plan]-[Thread Group]-[Add]-[Logic Controller]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[邏輯控制器]
邏輯控制器:
1、我們?cè)谑锗]件時(shí),只需要登錄一次郵箱即可以查看多封郵件:
如果這個(gè)場(chǎng)景我們要在 JMeter 中實(shí)現(xiàn),我們需要控制登錄的次數(shù),如例實(shí)現(xiàn)呢??
——JMeter 邏輯控制器(后續(xù)說(shuō)到控制器時(shí)默認(rèn)為邏輯控制器) 中的 “僅一次控制器” 即可以完成。
?
2、當(dāng)然了,控制器不只有這一個(gè),還有很多其他的控制器來(lái)完成我們的各種需求,控制器用法也有攻略,
組合在一起也能夠完成各種奇麗需求。


(四)X4?空間
定時(shí)器
定時(shí)器的訪問(wèn)路徑1:
英文:[Test Plan]-[Add]-[Timer]
中文:[測(cè)試計(jì)劃]-[添加]-[定時(shí)器]
?
定時(shí)器的訪問(wèn)路徑2:
英文:[Test Plan]-[Thread Group]-[Add]-[Timer]
中文:[測(cè)試計(jì)劃]-[線程組]-[添加]-[定時(shí)器]
定時(shí)器:
1、為了足夠真實(shí)地模擬用戶負(fù)載,我們有時(shí)會(huì)需要模擬這些請(qǐng)求在同一時(shí)刻發(fā)送,
就好像把大家集合在一條起跑線上,然后一聲令響,同時(shí)起跑。
?
2、那么我們此時(shí)需要一個(gè)集合的功能,JMeter 中可以通過(guò)定時(shí)器來(lái)完成這個(gè)需求。
?
3、當(dāng)然了,定時(shí)器可不只有這一個(gè)功能,定時(shí)器種類(lèi)有很多,每一種代表了不同的功能。


(五)X5?空間
線程組
線程組的訪問(wèn)路徑:
英文:[Test Plan]-[Add]-[Logic Controller]
中文:[測(cè)試計(jì)劃]-[添加]-[線程組]
線程組:
1、性能測(cè)試需要模擬大量用戶負(fù)載的情況,線程組就是用來(lái)完成這個(gè)工作的,在此元件中我們可以設(shè)置運(yùn)行的
線程數(shù)(就是模擬多少用戶,一線程一用戶)。
?
2、線程組的設(shè)置十分簡(jiǎn)單,除了設(shè)置線程數(shù)以外,還可以設(shè)置運(yùn)行時(shí)長(zhǎng),定時(shí)運(yùn)行等。
?
3、另外第三方插件( JMeter Plugin )的擴(kuò)展也讓 JMeter 的場(chǎng)景設(shè)計(jì)更加豐富。
??


————————————————
版權(quán)聲明:本文為CSDN博主「故三殤」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_39720249/article/details/88565999

總結(jié)

以上是生活随笔為你收集整理的Jmeter】Jmeter:体系结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。