Jmeter

jmeter的工具:性能測試

負(fù)載和壓力的區(qū)別:

負(fù)載測試:在一定的工作負(fù)荷下黍翎,給系統(tǒng)造成du的負(fù)zhi荷及系統(tǒng)響應(yīng)的時間盏浙。

壓力測試:在一定的負(fù)荷條件下佩研,長時間連續(xù)運行系統(tǒng)給系統(tǒng)性能造成的影響

TPS和QPS的區(qū)別:

?tps可以理解為是每秒對事務(wù)的處理的能力? qps是每秒對服務(wù)器的查詢能力

性能測試? web端和app端測試

web端的性能指標(biāo):

https://www.cnblogs.com/flyr/p/5509451.html

響應(yīng)時間(客戶端向服務(wù)端的請求時間,服務(wù)端對數(shù)據(jù)庫的請求時間舞终,服務(wù)端將結(jié)果展現(xiàn)到頁面的時間)

響應(yīng)時間 2 5 8原則??

吞吐量:指的是在一次性能測試過程中網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量的總和.吞吐量/傳輸時間,就是吞吐率.

TPS:每秒處理事務(wù)能力

并發(fā)數(shù):? 單用戶的多次操作

多用戶的單次操作

? 點擊率:每秒鐘用戶向WEB服務(wù)器提交的HTTP請求數(shù).

? 資源使用率:cpu? <80%? 內(nèi)存? <80%? io <40???網(wǎng)絡(luò)<30%

app端的性能指標(biāo)



App端的性能指標(biāo):

Cpu? 內(nèi)存? 流量? 電量啟動時間? 幀率

cpu<80%? ? ? ? ? 內(nèi)存<80%

電量的損耗:??????

流量的損耗:


線程和進(jìn)程區(qū)別:

接口測試:postman jmeter


Jmeter的接口測試:

1.首先轻庆,打開jmeter



2.測試計劃中添加線程租

? 2.1所有的測試工作都是從新建一個線程組開始的


? 2.2設(shè)置線程組參數(shù)癣猾。這里配置為:10個線程,同時啟動余爆,循環(huán)一次纷宇。

? ? ? ? 其中線程數(shù)代表訪問的并發(fā)數(shù),默認(rèn)是1蛾方。

? ? ? ? Ramp-UpPeriod表示多長時間內(nèi)容啟動所有線程像捶,如果時間很短,會造成網(wǎng)站的瞬間高并發(fā)转捕,默認(rèn)值是1秒作岖。

? ? ? ? 循環(huán)次數(shù)是表示執(zhí)行多少次唆垃,默認(rèn)值為1五芝,表示執(zhí)行一次結(jié)束,這里可以勾選永遠(yuǎn)辕万,讓其一直運行下去枢步。


4.添加要壓測的http請求。

圖第一個紅框內(nèi)的協(xié)議渐尿、IP醉途、端口不需要設(shè)置,會使用步驟c中設(shè)置的默認(rèn)值砖茸,只需設(shè)置請求路徑Path即可


5.在線程中添加查看結(jié)果樹隘擎,在線程組中進(jìn)行添加聚合報告/表格查看結(jié)果/圖形結(jié)果







Jmetere的斷言:

斷言用來判斷接口的返回值是否匹配

在線程租中進(jìn)行添加斷言--響應(yīng)斷言并將json放入到響應(yīng)結(jié)果中在察看結(jié)果樹中來


Jmeter的參數(shù)化關(guān)聯(lián)

????都是用${變量名}

A:用戶變量???? 一個變量對應(yīng)一個變量值


B:用戶參數(shù)???? 一個變量對應(yīng)多個變量值


C:可以使用csv文件方式


? 1.用txt文件或者是excel,csv文件

? 2.書寫參數(shù)化值? 一個http請求的所有參數(shù)以行為單位? 多個值用,隔開???

????????????????? 多個http請求對應(yīng)是多行? ??


3. 在線程組中添加csvDataconfig 匹配對應(yīng)的文件和參數(shù)名


D:可以使用函數(shù)助手的方式來隨機生成${}參數(shù)變量

https://blog.csdn.net/qq_34659777/article/details/86005723

Jmeter的對數(shù)據(jù)庫鏈接(對數(shù)據(jù)庫進(jìn)行壓力測試)

測試數(shù)據(jù)的來源:A.復(fù)用開發(fā)的原有數(shù)據(jù) b.復(fù)用線上的真實數(shù)據(jù)c.直接使用線上數(shù)據(jù) d.測試人員手動添加E:產(chǎn)品或者是運營提供數(shù)據(jù)

在線程中添加配置原件jdbconection config


在線程租中添加取樣器中的jdbc request


注意:query type類型不同則寫sql語句不同

https://blog.csdn.net/vikeyyyy/article/details/80367135

Jmeter的對數(shù)據(jù)庫鏈接(對數(shù)據(jù)庫進(jìn)行壓力測試):

測試數(shù)據(jù)的來源:

a.復(fù)用開發(fā)的原有數(shù)據(jù)?b.復(fù)用線上的真實數(shù)據(jù)c.直接使用線上數(shù)據(jù)?

d.測試人員手動添加 e.產(chǎn)品或者是運營提供數(shù)據(jù)

JDBC驅(qū)動包鏈接:

鏈接:https://pan.baidu.com/s/1P_jAt2C0lMnITjcRd5OeFg

提取碼:ab12

Jmeter需要使用JDBC功能時凉夯,把解壓好的jar包放在(jmeter的lib路徑)即可货葬。

1.打開jmeter,先創(chuàng)建線程組。

2.測試計劃->添加->配置元件->JDBC Connection Configuration

3.然后第一個紅框隨便寫劲够,第二個紅框配置JDBC數(shù)據(jù)庫連接

Database URL:? jdbc:mysql://替換ip地址:3306/數(shù)據(jù)庫名

配置完成就可以執(zhí)行數(shù)據(jù)庫了震桶。

4.線程組下面添加JDBC sample,在紅框里輸入第三步里的輸入的值

5.查看結(jié)果樹,顯示這樣就已經(jīng)連接數(shù)據(jù)庫征绎,可以操作數(shù)據(jù)庫數(shù)據(jù)了

****注意:query?type類型不同則寫sql語句不同****

Jemter的二種錄制方法:

一蹲姐,Badboy(PC端)

Badboy下載地址:鏈接:https://pan.baidu.com/s/1UNDfT8btdyHt3EE6gKCjzg

提取碼:ab12

Badboy是一款不錯web自動化測試工具,利用它來錄制腳本人柿,并且錄制的腳本可以直接保存為JMeter文件來使用柴墩。

Badboy? version 2.0.5

通過Badboy來錄制腳本

1.打開badboy ,點擊紅色按鈕,在地址欄輸入被測項目地址凫岖。

錄制完后江咳,點擊旁邊的黑色按鈕結(jié)束錄制。

2.選擇文件隘截,Export to Jmeter 保存.jmx類型文件

3.打開Jmter,打開“文件”->‘打開’選擇剛保存的.jmx類型文件扎阶。

Badboy下載完成打開頁面如下:


二汹胃,使用Jmeter自身的代理錄制腳本(移動端)

錄制腳本—Web端

打開Badboy


運行網(wǎng)址獲取數(shù)據(jù)

在Jmeter中打開剛剛保存的文件

補充數(shù)據(jù)

運行查看結(jié)果

Jemter提取器:

一、正則表達(dá)式提取器

步驟:右鍵“HTTP請求”->添加->后置處理器->正則表達(dá)式提取

正則表達(dá)式

創(chuàng)建正則表達(dá)式

填入數(shù)據(jù)

引用名稱:在HTTP請求中引用此數(shù)據(jù)东臀,需要用到的名稱

正則表達(dá)式:用于將需要的數(shù)據(jù)提取出來

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

. :匹配任何字符

+ :一次或者多次

* :所有字符串

? :在找到第一個匹配項后停止

模板:表示使用提取到的第幾個值

$ 1 $:表示取第一個

$ 2 $:表示取第二個

以此類推: $ n $:表示取第 n 個

匹配數(shù)字(0表示隨機): 0表示隨機着饥,1代表全部取值

缺省值:如果正則表達(dá)式?jīng)]有找到值,則使用此缺省值

運行結(jié)果

正則正則表達(dá)式的格式:字符串形式"token":"(.+?)" 數(shù)字形式 “taken”:[(0-9)+]

( ) 標(biāo)記一個子表達(dá)式的開始和結(jié)束位置惰赋。子表達(dá)式可以獲取供以后使用宰掉。要匹配這些字符,請使用 ( 和 )赁濒。

匹配前面的子表達(dá)式一次或多次轨奄。要匹配 + 字符,請使用 +拒炎。

. 匹配除換行符 \n 之外的任何單字符挪拟。要匹配 . ,請使用 . 击你。

? 匹配前面的子表達(dá)式零次或一次玉组,或指明一個非貪婪限定符。要匹配 ? 字符丁侄,請使用?

二惯雳、JSON提取器

步驟:右鍵“HTTP請求”->添加->后置處理器->JSON提取器


Variable names:保存的變量名,后面使用${Variable names}引用

JSON Path? expressions:調(diào)試通過的json path表達(dá)式

Match Numbers:匹配數(shù)字(0代表隨機鸿摇,1代表第一個石景,-1代表所有)

Default Values:找不到時默認(rèn)值,一般設(shè)置為NOT FOUND

Compute concatenation var(suffix_ALL):是否統(tǒng)計所有拙吉,即將匹配到的所有值保存潮孽,名為“變量名_ALL”

*****用 變量名_N 取第N個值

下面是JSON提取器各參數(shù)值的含義:

1.引用名稱:在HTTP等請求中,引用此數(shù)據(jù)庐镐,需要用到的名稱

2.提取格式:$data[0].name

3.匹配數(shù)值:0代表隨機取值恩商,1代表第一值,n代表第n個值

4.缺省值:如果正則表達(dá)式?jīng)]有搜到值必逆,則使用此缺省值

json提取格式j(luò)son講解:

1.json串 []表示對象組成的數(shù)組怠堪,{}表示對象。

2.對象里包含多個 “屬性”:屬性值名眉。屬性值可以是值粟矿,或數(shù)組,或?qū)ο蟆?/p>

3.JSON Extractor使用json path表達(dá)式匹配损拢,可以一次取多個變量值陌粹。$表示響應(yīng)的根對象。取子對象或?qū)ο蟮膶傩杂? 取數(shù)組里的對象用[]福压,數(shù)組索引從0開始掏秩。

Jemter定時器:

?一或舞,固定定時器


如果你需要讓每個線程在請求之前按相同的指定時間停頓,那么可以使用這個定時器蒙幻;需要注意的是映凳,固定定時器的延時不會計入單個sampler的響應(yīng)時間,但會計入事務(wù)控制器的時間邮破。

對于“java請求”這個sampler來說诈豌,定時器相當(dāng)于loadrunner中的pacing(兩次迭代之間的間隔時間);

對于“事務(wù)控制器”來說抒和,定時器相當(dāng)于loadrunner中的think time(思考時間:實際操作中矫渔,模擬真實用戶在操作過程中的等待時間)。

如果你需要讓每個線程在請求之前按相同的指定時間停頓摧莽,那么可以使用這個定時器庙洼;需要注意的是,固定定時器的延時不會計入單個sampler的響應(yīng)時間范嘱,但會計入事務(wù)控制器的時間送膳。

二,高斯隨機定時器

如需要每個線程在請求前按隨機時間停頓丑蛤,那么使用這個定時器,下圖表示暫停時間會分布在100到400之間撕阎,計算公式參考:Math.abs((this.random.nextGaussian()?*?300)?+?100)


Jmeter的正則提取器面試題:

在一個線程組中受裹,B請求需要使用A請求返回的數(shù)據(jù),也就是常說的關(guān)聯(lián)虏束,將上一個請求的響應(yīng)結(jié)果作為下一個請求的參數(shù)棉饶,則需要對A請求的響應(yīng)報文使用后置處理器,其中最方便最常用的就是正則表達(dá)式提取器了镇匀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末照藻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子汗侵,更是在濱河造成了極大的恐慌幸缕,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晰韵,死亡現(xiàn)場離奇詭異发乔,居然都是意外死亡,警方通過查閱死者的電腦和手機雪猪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門栏尚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人只恨,你說我怎么就攤上這事译仗√洌” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵纵菌,是天一觀的道長斥赋。 經(jīng)常有香客問我,道長产艾,這世上最難降的妖魔是什么疤剑? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮闷堡,結(jié)果婚禮上隘膘,老公的妹妹穿的比我還像新娘。我一直安慰自己杠览,他們只是感情好弯菊,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著踱阿,像睡著了一般管钳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上软舌,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天才漆,我揣著相機與錄音,去河邊找鬼佛点。 笑死醇滥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的超营。 我是一名探鬼主播鸳玩,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼演闭!你這毒婦竟也來了不跟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤米碰,失蹤者是張志新(化名)和其女友劉穎窝革,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體见间,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡聊闯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了米诉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菱蔬。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拴泌,到底是詐尸還是另有隱情魏身,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布蚪腐,位于F島的核電站箭昵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏回季。R本人自食惡果不足惜家制,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泡一。 院中可真熱鬧颤殴,春花似錦、人聲如沸鼻忠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帖蔓。三九已至矮瘟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間塑娇,已是汗流浹背澈侠。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留钝吮,地道東北人埋涧。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像奇瘦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子劲弦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354