JMeter--快速入門

JMeter下載安裝

JMeter版本:4.0

Linux上安裝jmeter

  1. 安裝jdk
wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz
tar -xzvf jdk-8u201-linux-x64
  1. 配置java環(huán)境變量
  • 編輯文件
sudo vim /etc/profile
  • /etc/profile文件末尾加上如下配置
# java env
export JAVA_HOME=/usr/local/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
  • 生效配置
source /etc/profile
  1. 驗(yàn)證java環(huán)境安裝
java -version
  1. 安裝jmeter 4.0
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz

tar -xzvf apache-jmeter-4.0
  1. 配置jmeter環(huán)境變量
sudo vim /etc/profile
  • 文件末尾加上如下行
export PATH=$PATH:/usr/local/apache-jmeter-4.0/bin
  • 生效配置
source /etc/profile
  1. 驗(yàn)證jmeter安裝是否成功
jmeter -v
  • 最終效果


    image.png

創(chuàng)建jmeter腳本

1. 新建線程組 Thread Group:

線程數(shù) 相當(dāng)于 虛擬用戶數(shù)。一個(gè)測試計(jì)劃可以有多個(gè)線程組

  • 測試計(jì)劃--》添加--》Treads--》線程組
  • Ramp-Up Period: 準(zhǔn)備時(shí)長,設(shè)置的虛擬用戶數(shù)需要多長時(shí)間全部啟動(dòng) 。 則 5s/10線程數(shù) 即每隔 0.5s啟動(dòng)另一個(gè)線程
  • loop:每個(gè)線程發(fā)送請求的次數(shù)。一個(gè)HTTP請求20次,如果是2個(gè)HTTTP請求則一共的請求20+20=40次

2. 添加 HTTTP 請求:

  • 線程組--》添加--》Sampler--》HTTP請求
  • 跟隨重定向:即遇到302會重定向到Location
  • Body Data:注意HTTP POST請求中Body Data默認(rèn)傳遞的格式是Content-Type: application/x-www-form-urlencoded,如果需要傳遞json,需要添加配置元件指定Content-Type: application/json

3. 添加配置元件

  • 線程組--》添加--》配置元件
  1. HTTP信息頭管理器: 添加headers請求頭參數(shù)。
  • 在整個(gè)測試計(jì)劃下添加HTTP信息頭管理器,設(shè)置User-Agent為瀏覽器。因?yàn)橛行┓?wù)器會拒絕工具的HTTP請求,即User-Agent為Apache-HttpClient的請求。
  1. HTTP Cookie管理器:之后的請求會帶上前面請求獲得的Cookies。以這種自動(dòng)收集的方式收集到的cookie不會在Cookie Manager中進(jìn)行展示,但是運(yùn)行后,通過:查看結(jié)果樹(監(jiān)聽器)可以查看到cookie信息
  • 對于JMeter來說,一個(gè)測試計(jì)劃只能有一個(gè)cookie管理器

4. 參數(shù)化,使用${}訪問變量

4.1 添加用戶自定義變量
  • 步驟: 配制元件--》用戶定義的變量
  • 根據(jù)變量的作用域決定元件應(yīng)該添加在何處。


    image.png
  • 注意:值如果由冒號的話會被識別為數(shù)組,例如:"192.168.1.1:5000",最終獲取到的值是[192.168.1.1:5000]是一個(gè)數(shù)組了。。。
4.2 CSV數(shù)據(jù)文件設(shè)置
  • 步驟:添加--》配置元件--》CSV數(shù)據(jù)文件設(shè)置。
  • 變量作用域依據(jù)所處位置有所不同。


    CSV數(shù)據(jù)文件設(shè)置
  • 如果csv文件首航為變量名,則忽略首行需設(shè)置為True。
  • 遇到文件結(jié)束符再次循環(huán)設(shè)置為False,則運(yùn)行到文件末尾之后,不再循環(huán)取數(shù)據(jù)。
  • 遇到文件結(jié)束符停止線程設(shè)置為True,則運(yùn)行到文件末尾之后,線程停止運(yùn)行。
4.3 隨機(jī)數(shù)字
  • 點(diǎn)擊“函數(shù)助手”
4.4 隨機(jī)字符串
4.5 csv函數(shù)
  • 一個(gè)線程一條數(shù)據(jù),固定不變

5. 為HTTP請求的結(jié)果添加斷言,即設(shè)置檢查點(diǎn)

  • HTTP請求添加----》斷言---》響應(yīng)斷言。
  • 響應(yīng)文本Response body,響應(yīng)代碼Response code,響應(yīng)信息Response message
輸入圖片說明

6. 查看斷言結(jié)果

  • 元件右鍵添加---》監(jiān)聽器----》斷言結(jié)果。
  • 可以在HTTP請求下添加單個(gè)斷言結(jié)果也可以為整個(gè)線程組添加斷言展示所有的斷言結(jié)果。
  • 斷言通過直接顯示HTTP請求的名稱不通過會有提示


    輸入圖片說明

7. 添加關(guān)聯(lián)

所謂關(guān)聯(lián), 就是第二個(gè)Request, 使用第一個(gè)Request中的數(shù)據(jù)。

  • 前置處理器: 在HTTP前執(zhí)行
  • 后置處理器: 在HTTP請求之后執(zhí)行
7.1 JSON提取器
  • 添加--》后置處理器--》JSON Extractor

  • 變量作用域?yàn)椋寒?dāng)前線程組當(dāng)前請求之后的所有請求


    image.png
  • 對于接口返回的結(jié)構(gòu)為json時(shí),可以通過JSON提取器提取想要的值。

  • 使用$表示json文件的根??梢酝ㄟ^察看結(jié)果樹中的JSON Path展示方式測試,例如獲取下圖的token: $.token,獲取id: $.user_info.id

  • $.data.user[0].id表示獲取第一個(gè)元素,$.data.user[*].id表示獲取所有元素

    JSON Path Tester

7.2 正則表達(dá)式提取器
  • HTTP請求添加---》后置處理器---》 正則表達(dá)式提取器, ()括起來的部分就是要提取的。
  • 模板:表示使用提取到的第幾個(gè)值,用$n$引用起來,如果在正則表達(dá)式中有多個(gè)正則表達(dá)式(即多個(gè)括號括起來的東東),$-1$:表示取所有值,$0$:表示隨機(jī)取值,$1$表示解析到的第1個(gè)值
    image.png

8. 運(yùn)行線程組,查看結(jié)果樹

  • Sampler--》添加---》監(jiān)聽器---》查看結(jié)果樹
  • 點(diǎn)擊工具欄的掃帚,用于清空結(jié)果樹
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環(huán)境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 3,127評論 0 8
  • JMeter有兩種類型的控制器:取樣器和邏輯控制器。 取樣器指示JMeter向一個(gè)服務(wù)器發(fā)送請求。例如,如果你想讓...
    七月尾巴_葵花閱讀 1,810評論 0 3
  • 2017.9.29日記分享:一早上群里就在討論大公益該如何進(jìn)行,其實(shí)我們總是討論的多,行動(dòng)的少,先做了再說,邊做邊...
    麗華1117閱讀 195評論 0 0

友情鏈接更多精彩內(nèi)容