JMeter簡單回顧-創(chuàng)新互聯(lián)

之前公眾號推文一上手就分享如何測接口, 其實忽略了一些概念性的東西, 今天來給大家拾遺補缺, 做個回顧吧.

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)公主嶺,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

一. JMeter介紹

jmeter能做什么,來自官網(wǎng)的解釋:

Ability to load and performance test many different applications/server/protocol types:

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET …)

  • SOAP / REST Webservices

  • FTP

  • Database via JDBC

  • LDAP

  • Message-oriented middleware (MOM) via JMS

  • Mail - SMTP(S), POP3(S) and IMAP(S)

  • Native commands or shell scripts

  • TCP

  • Java Objects

Jmeter可以模擬大量負(fù)載測試網(wǎng)絡(luò)或者對象, JMeter是用java語言開發(fā)的application,比較消耗memory和CPU, 當(dāng)模擬大并發(fā)用戶時候, 單臺模擬就有些力不從心. 同時jmeter可以幫助我們進(jìn)行回歸測試, 通過測試腳本和斷言來驗證程序返回的預(yù)期值.

JMeter與 LR 比較:

Jmeter是apache 組織下的開源測試工具(長得不太英俊),? 與LR比較有很多不足, 但是它具備很多優(yōu)點, 讓無數(shù)測試工程師對它欲罷不能, 而放棄了LR的華而不實(雖然很帥, 但功能太多,上手困難).

  1. 開源, 就意味著免費

  2. 小巧, 相比LR的龐大(好幾個G的安裝包),jmeter非常小巧, 無需安裝, 僅java環(huán)境

  3. 功能強大, 一個簡單的web性能測試工具, 不斷更新擴(kuò)展, 可以完成DB, FTP, LDAP, webservice, TCP 等測試, 還可以自由擴(kuò)展豐富插件.

  4. 跨平臺, 可以在任意系統(tǒng)上運行, Linux, Unix, Mac os, Ubuntu, centos, windows等.

LR運行環(huán)境無法脫離windows, 且是商業(yè)收費軟件.

缺點:

Jmeter不支持IP欺騙, LR支持.

結(jié)果分析能力相對LR不夠詳細(xì).

二 .Jmeter 下載安裝

1)安裝

官網(wǎng)提供jmeter 版本下載: http://jmeter.apache.org/

jmeter 3.2以后版本都需要jdk1.8 環(huán)境

2)插件安裝

下載插件后到%jmeter_home%/lib/ext目錄下, 重啟jmeter即可生效

3)運行jmeter

1. 進(jìn)入bin目錄運行jmeter

windows環(huán)境, 進(jìn)入jmeter/bin 目錄, jmeter.bat即可運行jmeter

Mac os, Ubuntu等環(huán)境, 進(jìn)入jmeter/bin 目錄, 點擊jmeter 即可運行jmeter

2.語言選擇

菜單: 選項->選擇語言->選擇個人喜好的語言

3. classPath

如果是自己開發(fā)的jar包在jmeter中使用, 那方法和插件是一樣的, 放在lib/ext目錄下

三.Jmeter測試計劃

1)test plan

打開jmeter默認(rèn)已經(jīng)創(chuàng)建了測試計劃

來自官網(wǎng)的說明, 可以創(chuàng)建多種test plan

JMeter 簡單回顧

2) Threads

JMeter 簡單回顧

  • setup Thread Group

是所有真正開始線程并發(fā)之前的準(zhǔn)備工作,必須是在線程組開始之前完成并且擁有自己獨立的線程設(shè)置;setUp Thread Group類似于lr的init.可用于執(zhí)行預(yù)測試操作。

  • teardown?thread?group

是所有線程執(zhí)行測試結(jié)束后執(zhí)行定期的線程組. 擁有自己獨立的線程設(shè)置;

tearDown Thread Group類似于lr的end.可用于執(zhí)行測試后動作。

  • thread?group

我們通常添加運行的線程??梢钥醋鍪且粋€虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。線程組中包含的線程數(shù)量在測試執(zhí)行過程中是不會發(fā)生變化的.

JMeter 簡單回顧

Ramp-Up Period(in seconds)表示在這個時間內(nèi)創(chuàng)建完所有的線程。如有3個線程,Ramp-Up=10秒,那么線程的啟動時間間隔為10/3=3.33秒. 這樣的好處是:一開始不會對服務(wù)器有太大的負(fù)載,線程組是為模擬并發(fā)負(fù)載而設(shè)計。

循環(huán)次數(shù):表示每個線程執(zhí)行多少次請求

3)模板

模板是一個非常好用功能

JMeter 簡單回顧

點擊模板, jmeter GUI已經(jīng)為你預(yù)定好了各種test plan,選擇一個自己需要的類型, 所見即所得的創(chuàng)建線程組里的內(nèi)容, 你只要做的就是修修改改

JMeter 簡單回顧

JMeter 簡單回顧

這種方式為我們節(jié)省了很多時間

4)Sampler

這個我們非常熟悉了, HTTP?Request?Sampler?、?FTP??Request?Sampler 、TCP??Request?Sampler 、 JDBC?Request?Sampler?等,每一種不同類型的?sampler?可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請求,其中還有兩種比較特殊的sampler, java sampler和Beanshell sampler

JMeter 簡單回顧

5)Timer

定時器用于設(shè)置等待時間. 等待時間是性能測試中常用的控制客戶端QPS/TPS的手段。類似于LoadRunner里面的“thinktime”。 JMeter?定義了Bean?Shell?Timer、Constant?Throughput?Timer、固定定時器等不同類型的Timer。

6) Pre-Processor Elements

意為前置處理器,用于對于取樣器進(jìn)行處理,且是在sampler啟動之前執(zhí)行,此處和后置處理器是有所區(qū)別的, 如用戶參數(shù) beanshell PreProcess 等

JMeter 簡單回顧

7) Post-Processor Elements

在測試過程中,經(jīng)常需要從響應(yīng)數(shù)據(jù)中找到某些參數(shù),作為下一個請求的參數(shù),這時候需要用到后置處理器 如正則表達(dá)式, json取樣器, beanshell PostProcess,就屬于這一類

JMeter 簡單回顧

8) ?Assertions

斷言就不用多介紹了, 我們經(jīng)常在使用, 同時jmeter提供豐富的斷言, 還可以組合著一起用.

9) Listeners

監(jiān)聽器提供了很多豐富的結(jié)果信息, 包含圖形的和數(shù)字的, 是用來對測試結(jié)果數(shù)據(jù)進(jìn)行處理和可視化展示的一系列元件, 圖形結(jié)果、查看結(jié)果樹、聚合報告、用表格察看結(jié)果都是我們經(jīng)常用到的元件

10) Configuration Elements

配置元件, 類似的有csv?數(shù)據(jù)元件, http信息管理頭, http cookie管理器, 用戶定義變量, 計數(shù)器, 隨機變量等 都屬于配置元件.

JMeter 簡單回顧

配置元件在我們的線程組里經(jīng)常出現(xiàn), 比如接收到的cookie可以存儲為JMeter線程變量。要將cookie保存為變量,需定義屬性“cookiemanager .save.cookie =true”

11) Execution order

執(zhí)行順序, 來自官網(wǎng)的解釋

  1. Configuration elements

  2. Pre-Processors

  3. Timers

  4. Sampler

  5. Post-Processors (unless SampleResult is?null)

  6. Assertions (unless SampleResult is?null)

  7. Listeners (unless SampleResult is?null)

12) Properties and Variables

屬性和變量, jmeter的屬性都定義在jmeter.properties,這個屬性作用域是global的,用戶也可以自定義變量

13) jmeter命令行

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

& increase Java Heap to meet your test requirements:

Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file

Check : https://jmeter.apache.org/usermanual/best-practices.html

JMeter 簡單回顧

今日精選推薦

JMeter接口測試-if控制器

JMeter數(shù)據(jù)庫操作

Jmeter接口測試-正則表達(dá)式

JMeter中文返回亂碼

Jmeter接口測試-參數(shù)化

JMeter接口測試-基礎(chǔ)

測試-感想

咨詢工作加微信

JMeter 簡單回顧

掃描二維碼

歡迎自薦和推薦, 需要的微信推送簡歷!

請猛戳下面二維碼了解更多

JMeter 簡單回顧

新聞名稱:JMeter簡單回顧-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article16/pdsdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計、云服務(wù)器、App開發(fā)、營銷型網(wǎng)站建設(shè)全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司