亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Jmeter JDBC性能腳本開發(fā)

IT那活兒 / 1623人閱讀
Jmeter JDBC性能腳本開發(fā)
一. JMeter概述

基本介紹:

JMeter是純Java的應(yīng)用程序,由Apache軟件基金會開發(fā),用來做負(fù)載功能測試的開源軟件。JMeter最初設(shè)計用于做web應(yīng)用測試和FTP應(yīng)用測試,后來擴展到功能測試、接口測試、數(shù)據(jù)庫服務(wù)測試等其他領(lǐng)域。

JMeter能夠?qū)?yīng)用程序做功能測試、回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證測試結(jié)果。JMeter可以對靜態(tài)的、動態(tài)的資源(文件、java程序、java對象、數(shù)據(jù)庫、http服務(wù)器、ftp服務(wù)器等)的性能進(jìn)行測試。JMeter能夠?qū)Ω鞣N性能指標(biāo)數(shù)據(jù)進(jìn)行多維度的圖形報表分析,并可以生成圖形化的測試報告。


主要特點:

  1. 開源的、輕量級的性能測試工具

  2. 支持多種協(xié)議,即支持多種服務(wù)類型的測試

  3. 通過錄制/回放方式獲取測試腳本

  4. 跨平臺,安裝了java虛擬機就可運行

  5. 多線程并發(fā)、多維度數(shù)據(jù)統(tǒng)計、儀表展示、圖表展示

  6. 支持GUI/CLI操作和精確計時 (毫秒級)

  7. 采用多線程并發(fā)取樣,也可通過獨立的線程對不同的功能同時取樣

  8. 支持緩存和離線的方式分析測試結(jié)果

  9. 插件高擴展性


JMeter支持的協(xié)議:

Web:http、https

Webservice:soap/xml-RPC

Database:JDBC driver

Directory:LDAP

Message:JMS

Service:POP3、IMAP、SMTP、FTP

https -- 在http下加入了SSL層,即http的安全版

soap/ xml-RPC -- simple object access protocol、remote procedure call

LDAP -- lightweight directory access protocol

POP3 -- post office protocol - version 3

IMAP -- internet mail access protocol


JMeter常用術(shù)語:

  • 采樣器(Samples):

    用來向服務(wù)器發(fā)送請求

  • 邏輯控制器(Logic Controllers):

    控制測試腳本執(zhí)行的順序

  • 監(jiān)聽器(Listeners):

    收集并展示測試結(jié)果信息

  • 配置元件(Configuration Elements):

    設(shè)置腳本中的共用信息

  • 斷言(Assertions):

    驗證是否返回期望的信息

  • 定時器(Timers):

    設(shè)置腳本執(zhí)行的時間間隔

  • 前置處理器(Pre-Processors):

    設(shè)置配置信息,在采樣器前執(zhí)行

  • 后置處理器(Post-Processors):

    設(shè)置配置信息,在采樣器后執(zhí)行

  • 測試計劃(Test Plan):

    整個測試的根節(jié)點,所有組件配置在其中

  • 線程組(Thread Group):

    配置并發(fā)線程數(shù)、并發(fā)時間、每個線程使用同樣的測試腳本


JMeter工作原理:

JMeter通過發(fā)送測試腳本到目標(biāo)服務(wù)器來模擬用戶的請求,測試過程中收集各種性能指標(biāo),并圖像化展示結(jié)果數(shù)據(jù)。


二. JMeter安裝與配置

JMeter安裝要求:

1. JMeter要求JVM1.5或更高版本

JMeter2.x—jdk1.6

JMeter3.0/3.1—最低jdk1.7

JMeter3.2/3.3—最低jdk1.8

2. 操作系統(tǒng)(Linux/Windows/Mac)

Windows:apache-jmeter-xx.zip

Linux/Mac:apache-jmeter-xx.tgz


配置JDK環(huán)境變量:

  • 計算機右鍵-屬性-高級系統(tǒng)設(shè)置-環(huán)境變量

  • 新建變量JAVA_HOME,變量值位 JDK安裝路徑D:Program FilesJavajdk1.8.0_91

  • 編輯Path變量,在末尾加入%JAVA_HOME%in;%JAVA_HOME%jrein;

  • 打開Cmd命令行窗口,輸入java –version 驗證


JMeter安裝配置(windows):

  • http://jmeter.apache.org/download_jmeter.cgi下載

  • 解壓安裝文件

  • 計算機右鍵-屬性-高級系統(tǒng)設(shè)置-環(huán)境變量

  • 新建變量JMeter_HOME,JMeter安裝的路徑 , 如E:Jmeterjmeter-3.1in

  • 編輯Path變量,在末尾加入%Jmeter_HOME%in;

  • 打開cmd輸入jmeter --version驗證是否安裝成功


JMeter安裝配置(Linux):

  • http://jmeter.apache.org/download_jmeter.cgi

  • 解壓安裝文件tar xzvf apache-jmeter-5.4.1.tgz

  • 配置環(huán)境變量

vi /etc/profile  --打開profile文件,添加以下內(nèi)容
JMETER_HOME=/opt/jmeter/apache-jmeter-5.4.1
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

  • 配置文件生效   source /etc/profile

  • jmeter –v 驗證是否安裝成功


JMeter目錄結(jié)構(gòu):

  • /bin-可執(zhí)行文件、配置文件

    • /bin/examples - CSV樣例

    • /bin/report-template - 報告模板

    • /bin/templates - 腳本模板

    • /bin-可執(zhí)行文件、配置文件

  • /doc - Jmeter API文檔

  • /extras - 擴展插件目錄,提供了對Ant的支持

  • /lib - 插件目錄,存放Jmeter所依賴的外部jar

  • /lib/ext - Jmeter依賴的核心jar包、插件包

  • /lib/junit - junit測試腳本

  • /Licenses – 許可證書

  • /Printable_docs -用戶使用手冊


JMeter GUI運行模式:

在windows下運行jmeter.bat文件,直接啟動Jmeter的GUI模式。

1. 添加組件

測試計劃->線程組->Samples->查看結(jié)果數(shù)/聚合報告

2. 腳本調(diào)試

Soap UI中調(diào)試wsdl接口,Web Services Description Language, 是為描述Web服務(wù)發(fā)布的XML格式

3. 配置、執(zhí)行、結(jié)果查看


JMeter 命令行運行模式:

在windows下運行cmd命令窗口,可以使用如下命令運行一個jmx文件,如下命令

Jmeter -n -t ../test.jmx -l jifenQuery.log -e -o E: Jmeter est estReport

參數(shù)說明:

-n:非GUI模式,即命令行的模式

-t:后跟測試文件,即jmx文件

-l:把測試的過程輸出到log文件

-e:生成報告

-o:測試報告存放目錄,必須是空目錄


JMeter 命令行運行模式運行結(jié)果:

測試結(jié)束后會在指定的目錄生成html格式的測試報告,打開文件index.html,即可在瀏覽器中展示圖形化的報告。


三. JDBC概述

JDBC(Java Database Connectivity)- Java數(shù)據(jù)庫連接,是Java語言用來規(guī)范客戶端程序如何訪問數(shù)據(jù)庫的應(yīng)用程序接口,允許便捷式訪問底層數(shù)據(jù)庫。

JDBC API(JDBC應(yīng)用程序接口)位于JDK的java.sql包中,可以直接調(diào)用SQL命令,同時提供了增刪改查數(shù)據(jù)庫中數(shù)據(jù)的方法,JDBC是面向關(guān)系型數(shù)據(jù)庫的(MySQL、Oracle、Postgresql、SQLServer)。由于不同數(shù)據(jù)庫軟件是不同的,Java JDK不可能提供對每個數(shù)據(jù)庫的具體實現(xiàn),所以JDBC API的具體實現(xiàn)由不同的數(shù)據(jù)庫生產(chǎn)廠商決定,這樣數(shù)據(jù)庫廠商可以根據(jù)JDBC API去實現(xiàn)各自的應(yīng)用程序驅(qū)動。


解釋說明:

Java API:
提供對JDBC的管理連接

Java Driver API:
支持JDBC管理到驅(qū)動器連接

DriverManager:
管理數(shù)據(jù)庫驅(qū)動程序,查看驅(qū)動是否符合Java Driver API的規(guī)范

Driver:
驅(qū)動程序,處理相應(yīng)的請求并返回數(shù)據(jù)庫連接

Connection:
數(shù)據(jù)庫連接,負(fù)責(zé)與數(shù)據(jù)庫通信

Statement(聲明):
執(zhí)行SQL查詢和更新

PreparedStatement(預(yù)聲明):
執(zhí)行包含動態(tài)參數(shù)的SQL查詢和更新

CallableStatement(調(diào)用聲明):
調(diào)用數(shù)據(jù)庫中的存儲過程

SQLException:
發(fā)生的異常情況

JDBC建立連接的步驟:
加載數(shù)據(jù)庫驅(qū)動程序 ->建立連接 ->執(zhí)行語句 ->處理結(jié)果 ->關(guān)閉連接


四. JDBC 配置元件
JDBC 配置元件——JDBC Connection Configuration

JDBC Connection Configuration界面分成五個部分:

  • 名稱和注釋:可隨便填寫、最好是有意義的

  • Variable Name for created pool:定義連接池(連接池可以理解為連接的緩沖池)變量名,將      連接池配置保存到該變量中,需與JDBC請求中變量名一致,可以配置多個不同的連接池變量。

  • Connection pool Config:連接池配置,默認(rèn)即可。

  • Connection Validation by Pool:驗證配置,默認(rèn)即可。Validation Query 一般選擇 select 1,驗證數(shù)據(jù)是否存在。

  • Database Connection Configuration:數(shù)據(jù)庫URL、驅(qū)動類型、用戶名、密碼,需按規(guī)定格式

不同數(shù)據(jù)庫的數(shù)據(jù)庫連接配置:

JDBC驅(qū)動列表:

如何添加和查看JDBC驅(qū)動:

將下載的jar包直接添加到j(luò)meter安裝目錄的lib目錄中,其中ojdbc14.jar是oracle數(shù)據(jù)庫的驅(qū)動程序jar包


五. JMeter JDBC Request



解釋說明:

名稱:
JDBC請求的名稱,可以自定義

variable name:
綁定JDBC連接配置中的變量,必須一致

select Statement:
查詢聲明,僅支持select語句,只執(zhí)行一條語句

update statement:
更新聲明,支持create、insert、update、drop、delete、drop語句,只執(zhí)行一條語句

callable statement:
以標(biāo)準(zhǔn)形式調(diào)用存儲過程

Prepared select statement:
用于為一條SQL生成測試計劃

Commit:
提交未存儲的數(shù)據(jù)(僅在內(nèi)存,未寫入磁盤的數(shù)據(jù))

Rollback:
回滾未存儲的數(shù)據(jù)

AutoCommit(false):
自動提交(假),操作一直在事務(wù)中,除非commit或rollback

AutoCommit(true):
自動提交(真),無論結(jié)果如何,直接自動提交。


參數(shù)綁定解釋說明

Parameter values:
在SQL語句中需要使用變化的值時,可以用“?”替代變化值;然后在Parameter values 輸入框中輸入變量名或?qū)嶋H值。

Parameter types:
SQL參數(shù)類型(例如INTEGER,DATE,VARCHAR,DOUBLE)或常量的整數(shù)值的逗號分隔列表。當(dāng)使用 Parameter values替換參數(shù)時,需要定義這些參數(shù)的類型填寫參數(shù)類型。注:有多個?時,在Parameter values,Parameter types中用“,”依次隔開,Parameter types 必須填寫,否則請求失敗。

Variable Names:
以逗號分隔的變量名稱列表,用于保存Select語句的返回值

Result Variable Name:
如果指定,將創(chuàng)建一個包含行映射列的Object變量。每個映射都包含列名稱作為鍵,并包含列數(shù)據(jù)作為值。

Query timeout(s) :
設(shè)置查詢超時時間(秒),空值表示0(不限制)。默認(rèn)為0

Handle ResultSet :
定義如何處理執(zhí)行SQL語句返回的結(jié)果集


六. JDBC Request


1.開發(fā)Oracle數(shù)據(jù)庫性能腳本

前置條件:有可用的oracle數(shù)據(jù)庫及表

測試場景:往數(shù)據(jù)庫大批量插入數(shù)據(jù)并查詢

步驟1:創(chuàng)建測試計劃,導(dǎo)入oracle數(shù)據(jù)庫驅(qū)動包


步驟2:添加線程組,設(shè)置線程數(shù),啟動時間、循環(huán)次數(shù)

步驟3:在線程組下添加’JDBC Connection Configuration’配置元件,并設(shè)置相關(guān)信息

步驟4:創(chuàng)建JDBC Request,對數(shù)據(jù)庫做插入操作

步驟5:在JDBC request ‘insert’下添加CSV Data Set Config配置元件,參數(shù)化要插入的數(shù)據(jù)

步驟6:添加監(jiān)聽器,添加”圖形結(jié)果”、”查看結(jié)果樹”、”聚合報告”

步驟7:執(zhí)行,查看運行結(jié)果—查看結(jié)果樹、聚合報告、圖形結(jié)果



2.開發(fā)MySQL數(shù)據(jù)庫性能腳本

前置條件:有可用的mysql數(shù)據(jù)庫及表,

測試場景:往數(shù)據(jù)庫大批量插入數(shù)據(jù)并查詢

步驟1:創(chuàng)建測試計劃,導(dǎo)入mysql數(shù)據(jù)庫驅(qū)動包

步驟2:添加線程組,設(shè)置線程數(shù),啟動時間、循環(huán)次數(shù)

步驟3:在線程組下添加’JDBC Connection Configuration’配置元件,并設(shè)置相關(guān)信息

步驟4:創(chuàng)建JDBC Request,對數(shù)據(jù)庫做插入操作

步驟5:在JDBC request ‘insert’下添加CSV Data Set Config配置元件,參數(shù)化要插入的數(shù)據(jù)

步驟6:添加監(jiān)聽器,添加”圖形結(jié)果”、”查看結(jié)果樹”、”聚合報告”

步驟7:執(zhí)行,查看運行結(jié)果—查看結(jié)果樹、聚合報告、圖形結(jié)果


END


更多精彩干貨分享

點擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129818.html

相關(guān)文章

  • 性能測試,你需要了解這款工具

    摘要:在這篇文章中,我們將通過使用來測試數(shù)據(jù)庫訪問并生成對應(yīng)的測試報告,來學(xué)習(xí)使用這款性能測試工具。這兩個參數(shù)可以用來控制具體測試的執(zhí)行次數(shù),比如將線程數(shù)設(shè)置為,重復(fù)執(zhí)行次數(shù)設(shè)置為,那么相應(yīng)測試將執(zhí)行次。 ...

    jsbintask 評論0 收藏0
  • 云智慧壓測實戰(zhàn)分享之JMeter工具使用初探

    摘要:有了測試腳本,通過線程組來模擬真實用戶對服務(wù)器的訪問壓力。不同的是,這些類型的線程執(zhí)行測試結(jié)束后執(zhí)行定期的線程組。線程組中包含的線程數(shù)量在測試執(zhí)行過程中是不會發(fā)生改變的。邏輯控制器元件只對其子節(jié)點中的取樣器和邏輯控制器作用。 工欲善其事必先利其器,要保證移動應(yīng)用產(chǎn)品在上線之后能穩(wěn)定運行于各種復(fù)雜環(huán)境,僅僅進(jìn)行功能測試是遠(yuǎn)遠(yuǎn)不夠的,壓力測試越來越被應(yīng)用開發(fā)商所重視。而壓力測試從傳統(tǒng)的內(nèi)部...

    venmos 評論0 收藏0
  • 接口測試常見問題

    摘要:同時我們也可以使用控件來實現(xiàn)小型的接口自動化來提高接口測試效率。接口測試的流程首先我們要了解需求,熟悉業(yè)務(wù)場景然后根據(jù)需求文檔,接口文檔以及業(yè)務(wù)場景來編寫測試用例。 ...

    edgardeng 評論0 收藏0
  • 如何使用 JMeter 實現(xiàn) API 接口自動化測試?

    摘要:將響應(yīng)斷言放入請求下,會對該請求調(diào)用的響應(yīng)結(jié)果進(jìn)行斷言。異步調(diào)用,等待一定時間后獲取調(diào)用結(jié)果數(shù)據(jù)某支持客戶進(jìn)行異步調(diào)用,先發(fā)送一個異步請求提交數(shù)據(jù)獲取一個,然后隔一斷時間后再使用獲取到的請求上一個請求的返回結(jié)果需要用到定時器組件。 由于segmentfault編輯器上傳圖片錯誤,小編試過多種方式試圖拯救,還是未能成功,所以如要看完整文章請至http://t.cn/R8njjaT mia...

    joyvw 評論0 收藏0
  • 性能測試

    摘要:吞吐量一般結(jié)合業(yè)務(wù)需求而定服務(wù)器資源占用占用率內(nèi)存使用率命中率篇是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。負(fù)載測試與壓力測試都是性能測試。通過平臺接口可進(jìn)行合理的性能測試。有利于測試人員及時定位問題。 Part 1:性能測試 性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。 A. 類別 性能測試包括負(fù)載測試、壓力測試、基準(zhǔn)測試等。 i. 負(fù)...

    qpal 評論0 收藏0
  • 軟件接口測試工具Jmeter使用核心詳解【建議收藏】

    用Jmeter做接口測試只需要掌握幾個核心功能就可以了。 并不一定要把它所有的功能都掌握,先掌握核心功能入行,然后再根據(jù)工作需要和職業(yè)規(guī)劃來學(xué)習(xí)更多的內(nèi)容。這篇文章在前面接口測試框架(測試計劃--->線程組--->請求--->查看結(jié)果樹)的前提下,來介紹必須要掌握的幾個核心功能,力求用最短的時間取得最大的成果。 在前面的文章中我提到,用Jmeter做接口測試的核心是單接口測試的參數(shù)化和關(guān)聯(lián)接口測試...

    zoomdong 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<