<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用Jmeter測(cè)試快速入門

          共 4516字,需瀏覽 10分鐘

           ·

          2020-12-08 18:22

          點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”

          優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

          ? 作者?|??王彬。

          來源 |? urlify.cn/yYv2Qr

          66套java從入門到精通實(shí)戰(zhàn)課程分享

          一 創(chuàng)建線程組

          1.1.2. ??線程組主要包含三個(gè)參數(shù):線程數(shù)、準(zhǔn)備時(shí)長(zhǎng)(Ramp-Up Period(in seconds))、循環(huán)次數(shù)。

          1.1.3. ?? 線程數(shù):虛擬用戶數(shù)。一個(gè)虛擬用戶占用一個(gè)進(jìn)程或線程。設(shè)置多少虛擬用戶數(shù)在這里也就是設(shè)置多少個(gè)線程數(shù)。

          1.1.4. ?? 準(zhǔn)備時(shí)長(zhǎng)(秒):設(shè)置的虛擬用戶數(shù)需要多長(zhǎng)時(shí)間全部啟動(dòng)。如果線程數(shù)為20 ,準(zhǔn)備時(shí)長(zhǎng)為10 ,那么需要10秒鐘啟動(dòng)20個(gè)線程。也就是每秒鐘啟動(dòng)2個(gè)線程。

          1.1.5. ?循環(huán)次數(shù):每個(gè)線程發(fā)送請(qǐng)求的次數(shù)。如果線程數(shù)為20 ,循環(huán)次數(shù)為100 ,那么每個(gè)線程發(fā)送100次請(qǐng)求。總請(qǐng)求數(shù)為20*100=2000 。如果勾選了“永遠(yuǎn)”,那么所有線程會(huì)一直發(fā)送請(qǐng)求,一到選擇停止運(yùn)行腳本。

          1.1.6. ?. 調(diào)度器:設(shè)置線程組啟動(dòng)的開始時(shí)間和結(jié)束時(shí)間(配置調(diào)度器時(shí),需要勾選循環(huán)次數(shù)為永遠(yuǎn))

          1.1.7. ?持續(xù)時(shí)間(秒):測(cè)試持續(xù)時(shí)間,會(huì)覆蓋結(jié)束時(shí)間

          1.1.8. ?啟動(dòng)延遲(秒):測(cè)試延遲啟動(dòng)時(shí)間,會(huì)覆蓋啟動(dòng)時(shí)間

          1.1.9. ?啟動(dòng)時(shí)間:測(cè)試啟動(dòng)時(shí)間,啟動(dòng)延遲會(huì)覆蓋它。當(dāng)啟動(dòng)時(shí)間已過,手動(dòng)只需測(cè)試時(shí)當(dāng)前時(shí)間也會(huì)覆蓋它。

          1.1.10. ???? 結(jié)束時(shí)間:測(cè)試結(jié)束時(shí)間,持續(xù)時(shí)間會(huì)覆蓋它。

          二.創(chuàng)建http請(qǐng)求

          三.使用方法

          3. 1指定請(qǐng)求域名,請(qǐng)求路徑

          一個(gè)HTTP請(qǐng)求有著許多的配置參數(shù),下面將詳細(xì)介紹:

          名稱:本屬性用于標(biāo)識(shí)一個(gè)取樣器,建議使用一個(gè)有意義的名稱。

          注釋:對(duì)于測(cè)試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。

          服務(wù)器名稱或IP :HTTP請(qǐng)求發(fā)送的目標(biāo)服務(wù)器名稱或IP地址。

          端口號(hào):目標(biāo)服務(wù)器的端口號(hào)。

          方法:發(fā)送HTTP請(qǐng)求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

          Content encoding :內(nèi)容的編碼方式,默認(rèn)值為iso8859

          路徑:目標(biāo)URL路徑(不包括服務(wù)器地址和端口)

          3.2. 指定請(qǐng)求域名,請(qǐng)求路徑

          3.3查看表格信息

          Sample:每個(gè)請(qǐng)求的序號(hào)

          Start Time:每個(gè)請(qǐng)求開始時(shí)間

          Thread Name:每個(gè)線程的名稱

          Label:Http請(qǐng)求名稱

          Sample Time:每個(gè)請(qǐng)求所花時(shí)間,單位毫秒

          Status:請(qǐng)求狀態(tài),如果為勾則表示成功,如果為叉表示失敗。

          Bytes:請(qǐng)求的字節(jié)數(shù)

          樣本數(shù)目:也就是上面所說的請(qǐng)求個(gè)數(shù),成功的情況下等于你設(shè)定的并發(fā)數(shù)目乘以循環(huán)次數(shù)

          平均:每個(gè)線程請(qǐng)求的平均時(shí)間

          最新樣本:表示服務(wù)器響應(yīng)最后一個(gè)請(qǐng)求的時(shí)間

          偏離:服務(wù)器響應(yīng)時(shí)間變化、離散程度測(cè)量值的大小,或者,換句話說,就是數(shù)據(jù)的分布。

          3.4. 查看結(jié)果樹

          ? 響應(yīng)的數(shù)據(jù)展示(響應(yīng)碼,響應(yīng)數(shù)據(jù)),

          ?

          通過察看結(jié)果樹,我們可以看到每個(gè)請(qǐng)求的結(jié)果,其中紅色的是出錯(cuò)的請(qǐng)求,綠色的為通過。

          Thread Name:線程組名稱

          Sample Start: 啟動(dòng)開始時(shí)間

          Load time:加載時(shí)長(zhǎng)

          Latency:等待時(shí)長(zhǎng)

          Size in bytes:發(fā)送的數(shù)據(jù)總大小

          Headers size in bytes:發(fā)送數(shù)據(jù)的其余部分大小

          Sample Count:發(fā)送統(tǒng)計(jì)

          Error Count:交互錯(cuò)誤統(tǒng)計(jì)

          Response code:返回碼

          Response message:返回信息

          Response headers:返回的頭部信息

          3.5?聚合報(bào)告參數(shù)說明

          lable:對(duì)應(yīng)每一個(gè)http請(qǐng)求,顯示的是http請(qǐng)求的Name,如百度http請(qǐng)求name為baidu

          #Samples:表示這一次的測(cè)試中一共發(fā)出了多少請(qǐng)求,如上圖所示,sougou和baidu的http請(qǐng)求每個(gè)都發(fā)出30個(gè)請(qǐng)求

          Average:平均響應(yīng)時(shí)間,指的是所有的請(qǐng)求的平均響應(yīng)時(shí)間,如上圖的30個(gè)請(qǐng)求的總的響應(yīng)時(shí)間除以30得出的平均響應(yīng)時(shí)間,默認(rèn)的情況下是單個(gè)請(qǐng)求的平均響應(yīng)時(shí)間,但當(dāng)使用了“事務(wù)控制器”時(shí),則以事物為單位顯示平均響應(yīng)時(shí)間

          Median:中位數(shù),也就是50%用戶的響應(yīng)時(shí)間

          90%Line:90%用戶的響應(yīng)時(shí)間

          Min:最小響應(yīng)時(shí)間

          Max:最大的響應(yīng)時(shí)間

          Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù),如上圖所示,本次的測(cè)試中,sougou的http請(qǐng)求66.6%的請(qǐng)求出錯(cuò),而baidu的請(qǐng)求則沒有出錯(cuò)的請(qǐng)求

          Throughput:吞吐量,默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù),如上圖所示,每秒完成的請(qǐng)求數(shù)分別為6.6個(gè)每秒,6.2個(gè)每秒

          Recived KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,以kb為計(jì)算的單位

          3.6?圖形結(jié)果

          樣本數(shù)目:總共發(fā)送到服務(wù)器的請(qǐng)求數(shù)。

          最新樣本:代表時(shí)間的數(shù)字,是服務(wù)器響應(yīng)最后一個(gè)請(qǐng)求的時(shí)間。

          吞吐量:服務(wù)器每分鐘處理的請(qǐng)求數(shù)。

          平均值:總運(yùn)行時(shí)間除以發(fā)送到服務(wù)器的請(qǐng)求數(shù)。

          中間值:有一半的服務(wù)器響應(yīng)時(shí)間低于該值而另一半高于該值。

          偏離:表示服務(wù)器響應(yīng)時(shí)間變化、離散程度測(cè)量值的大小。

          四.Jmeter主要組件介紹

          4.1 線程組

          4.2 取樣器(Http請(qǐng)求)

          ?

          ?4.3?監(jiān)聽器

          監(jiān)聽器(Listener)負(fù)責(zé)收集測(cè)試結(jié)果,同時(shí)也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報(bào)告、查看結(jié)果樹、用表格查看結(jié)果,都支持將結(jié)果數(shù)據(jù)寫入文件。其他的添加上去看看就行。聚合報(bào)告前面我們介紹過,后面是查看結(jié)果樹和用表格查看結(jié)果的截圖

          ?

          ?4.4.查看本地?cái)?shù)據(jù)庫(kù)里面的數(shù)據(jù)

          4.4.1打開JDBC Connection Configuration

          ?

          ?然后一次填入一下數(shù)據(jù)

          Database URL:數(shù)據(jù)鏈接url,格式:jdbc:mysql://localhost:3306/host

          ?

          注釋:數(shù)據(jù)庫(kù)的ip地址+端口/數(shù)據(jù)庫(kù)名(查詢數(shù)據(jù)庫(kù)端口號(hào)show global variables like 'port')

          jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC& allowMultiQueries=true

          ?

          JDBC Driver Class:驅(qū)動(dòng)器名稱。固定:com.mysql.jdbc.Driver

          ?

          Username:用戶名

          ?

          Passowrd:密碼

          添加一個(gè)JDBC Request。

          ?4.4.2 然后在添加一個(gè)JDBC Request

          ?

          ?輸入sql語(yǔ)句

          最后的結(jié)果是?

          ?

          ?4.5?斷言---檢查點(diǎn)

          斷言(Assertions)可以用來判斷請(qǐng)求響應(yīng)的結(jié)果是否如用戶所期望的。它可以用來隔離問題域,即在確保功能正確的前提下執(zhí)行壓力測(cè)試。這個(gè)限制對(duì)于有效的測(cè)試是非常有用的

          填寫響應(yīng)段言

          添加JSON Assertion

          ?

          ?效果如下

          ?

          4.6. 前置處理器和后置處理器

          前置處理器(Pre Processors)和后置處理器(Post Processors)負(fù)責(zé)在生成請(qǐng)求之前和之后完成工作。前置處理器常常用來修改請(qǐng)求的設(shè)置,后置處理器則常常用來處理響應(yīng)的數(shù)據(jù)。我們主要在動(dòng)態(tài)關(guān)聯(lián)中用到后置處理器的正則表達(dá)式提取器

          4.7.定時(shí)器

          定時(shí)器(Timer)負(fù)責(zé)定義請(qǐng)求之間的延遲間隔

          ?

          ?

          ?4.8事務(wù)控制器? ?

          作用:?事務(wù)控制器會(huì)生產(chǎn)一個(gè)額外的采樣器,用來統(tǒng)計(jì)該控制器子結(jié)點(diǎn)的所有時(shí)間。

          在線程組下創(chuàng)建事務(wù)控制器

          參數(shù):

          ·???????? Generate parent sample:(選中這個(gè)參數(shù)結(jié)果展示如下圖紅框,否則顯示為下圖藍(lán)框)

          ·???????? Include duration of timer and pre-post processors in generated sample:選中這一項(xiàng)會(huì)統(tǒng)計(jì)定時(shí)器(timer)的時(shí)間,否則只統(tǒng)計(jì)采樣器(sample)的時(shí)間

          先添加一個(gè)事務(wù)控制器

          ?

          ?

          勾選化框的地方

          查看結(jié)果

          ?

          ?

          ?

          ?循環(huán)控制器

          創(chuàng)建循環(huán)控制器

          ?

          ?添加要循環(huán)的次數(shù)

          結(jié)果如下

          ?

          ?

          五 Jmeter組件參數(shù)化

          5.1參數(shù)化是什么

          動(dòng)態(tài)的獲取并設(shè)置數(shù)據(jù)

          5.2. 為什么使用參數(shù)化

          執(zhí)行批量操作,批量添加批量刪除,人工效率太低

          運(yùn)用程序代替人工獲取并設(shè)置數(shù)據(jù),安全高效

          比如:對(duì)被測(cè)系統(tǒng)的用戶名和密碼進(jìn)行參數(shù)化,來模擬多個(gè)用戶同時(shí)登錄系統(tǒng)

          5.3. 參數(shù)化實(shí)現(xiàn)之CSV Data Set Config

          ?

          通過這個(gè)組件可以動(dòng)態(tài)獲取并設(shè)置數(shù)據(jù),實(shí)現(xiàn)批量添加操作

          ?

          ?

          ?

          ?

          ?

          ?

          5.4創(chuàng)建一個(gè)http請(qǐng)求

          ?

          ?效果如下

          ?

          5.5使用Jmeter 函數(shù)助手

          1、點(diǎn)擊 選項(xiàng)-->函數(shù)助手 調(diào)出函數(shù)助手對(duì)話框

          ?

            2、選擇 _CSVRead 函數(shù)(下圖第一個(gè)框)

          ?

            3、函數(shù)參數(shù):

          ?

              1)第一個(gè)參數(shù):填寫文件路徑。

          ?

              2)第二個(gè)參數(shù):文件列號(hào)是從0開始的,第一列0、第二列1、第三列2、依次類推,然后點(diǎn)擊【生成】按鈕,則會(huì)自動(dòng)生成我們需要的參數(shù)化函數(shù)。

          ?

          3) 復(fù)制生成的參數(shù)化函數(shù), copy過程需要使用的地方即可。

          4) _Random函數(shù)是從某數(shù)據(jù)段隨機(jī)讀取數(shù)據(jù)替換參數(shù),當(dāng)需要添加多條數(shù)據(jù)記錄且某些字段需要唯一性時(shí)使用。

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?運(yùn)行及運(yùn)行結(jié)果

          ?

          ?

          ?

          ?5.6 正則參數(shù)化

          ?先添加兩個(gè)http請(qǐng)求

          ?

          ?一個(gè)是成語(yǔ)詞典一個(gè)是新華字典

          ?

          ?

          ?

          ??


          ?然后在成語(yǔ)詞典里添加一個(gè)正則表達(dá)式提取器


          ?在正則表達(dá)式提取器中添加數(shù)據(jù)

          ?

          說明:

          (1)引用名稱:下一個(gè)請(qǐng)求要引用的參數(shù)名稱,如填寫title,則可用${title}引用它。

          (2)正則表達(dá)式:

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

          .:匹配任何字符串。

          +:一次或多次。

          ?:不要太貪婪,在找到第一個(gè)匹配項(xiàng)后停止。

          (3)模板:用$$引用起來,如果在正則表達(dá)式中有多個(gè)正則表達(dá)式,則可以是$2$$3$等等,表示解析到的第幾個(gè)值給title。如:$1$表示解析到的第1個(gè)值

          (4)匹配數(shù)字:0代表隨機(jī)取值,1代表全部取值,通常情況下填0

          (5)缺省值:如果參數(shù)沒有取得到值,那默認(rèn)給一個(gè)值讓它取。

          修改新華字典里的參數(shù)

          ?

          ?然后運(yùn)行及效果圖展示

          ?

          ?

          六? Jmeter腳本錄制

          6.1. 什么是腳本錄制

          在進(jìn)行測(cè)試的時(shí)候,可能有好多腳本或者界面需要操作測(cè)試,并且有些測(cè)試鏈接需要重復(fù)多線程高并發(fā)進(jìn)行測(cè)試,我們一般會(huì)針對(duì)這一些操作,進(jìn)行一個(gè)腳本錄制,錄制好之后,之后測(cè)試就可以在這個(gè)基礎(chǔ)上進(jìn)行測(cè)試。

          6.2. Jemeter腳本錄制方式

          BadBoy腳本錄制

          使用Jmeter自帶的代理服務(wù)器進(jìn)行腳本錄制

          安裝badbay

          ?打開badbay

          ?

          ?最后完畢之后點(diǎn)擊小紅點(diǎn)

          ?

          ?

          ?然后點(diǎn)擊文件Export to Jmeter

          ?

          ?然后在jmeter里文件打開剛剛保存的腳本

          ?

          ?

          ?

          ?



          粉絲福利:實(shí)戰(zhàn)springboot+CAS單點(diǎn)登錄系統(tǒng)視頻教程免費(fèi)領(lǐng)取

          ???

          ?長(zhǎng)按上方微信二維碼?2 秒
          即可獲取資料



          感謝點(diǎn)贊支持下哈?


          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一区二区三区高清 | 欧美三级片在线观看的 | 成人色色网 | 国产超级无码高清在线视频观看 | 成人偷拍自拍 |