av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

瀏覽:160日期:2022-06-29 09:36:03
JDBC Request

這個 Sampler 可以向數(shù)據(jù)庫發(fā)送一個 jdbc 請求(sql 語句),并獲取返回的數(shù)據(jù)庫數(shù)據(jù)進行操作。它 經(jīng)常需要和 JDBC Connection Configuration 配置原件(配置數(shù)據(jù)庫連接的相關(guān)屬性,如連接名、密碼 等)一起使用。

1.本文使用的是 mysql 數(shù)據(jù)庫進行測試

數(shù)據(jù)庫的用戶名為 root,用戶名密碼為 *********(看個人數(shù)據(jù)庫用戶名和密碼填寫)

2、數(shù)據(jù)庫中有表:test,表的數(shù)據(jù)結(jié)構(gòu)如下:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

表中數(shù)據(jù)如下:select * from test (不要添加分號作為結(jié)尾。)

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

3、添加需要的驅(qū)動 jar 包使用不同的數(shù)據(jù)庫,我們需要引入不同的 jar 包。

方式 1:直接將 jar 包復(fù)制到 jmeter 的 lib 目錄mysql 數(shù)據(jù)庫:無需引入其他數(shù)據(jù)庫驅(qū)動 jar 包。

sql server 數(shù)據(jù)庫:下載 sqljdbc4.jar 放到 jmeter 根目錄的 lib 目錄下

oracle數(shù)據(jù)庫:將oracle數(shù)據(jù)的安裝目錄下面的product10.2.0db_1jdbclibojdbc14.jar 放 到 jmeter 根目錄下的 lib 目錄下

方式 2:通過 Test Plan假如我們不使用將 jar 復(fù)制到 jmeter 的 lib 目錄的方式,我們還可以使用 Jmeter 的 Test Plan 引入 相應(yīng)的 jar 包,如下面引入 oracle 數(shù)據(jù)的 jar 包。

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

二、配置 JDBC Connection Configuration

重要參數(shù)說明:Variable Name:

數(shù)據(jù)庫連接池的名稱,我們可以有多個 jdbc connection configuration,每 個可以起個不同的名稱,在 jdbc request 中可以通過這個名稱選擇合適的連接池進行使用。

Database URL:

數(shù)據(jù)庫 url,jdbc:mysql://主機 ip 或者機器名稱:mysql 監(jiān)聽的端口號/數(shù)據(jù)庫 名稱, 如:jdbc:mysql://localhost:3306/test

**JDBC Driver class:**JDBC 驅(qū)動

**username:**數(shù)據(jù)庫登陸的用戶名

**passwrod:**數(shù)據(jù)庫登陸的密碼

不同數(shù)據(jù)庫具體的填寫方式,可以參考下面的表格:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

填寫后大致如下:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

三、配置 JDBC Request

重要的參數(shù)說明:

Variable Name:數(shù)據(jù)庫連接池的名字,需要與 JDBC Connection Configuration 的 Variable Name Bound Pool 名字保持一致

Query:填寫的 sql 語句未尾不要加“;”

Parameter valus:參數(shù)值

Parameter types:參數(shù)類型,可參考:Javadoc for java.sql.Types

Variable names:保存 sql 語句返回結(jié)果的變量名

Result variable name:創(chuàng)建一個對象變量,保存所有返回的結(jié)果

Query timeout:查詢超時時間

Handle result set:定義如何處理由 callable statements 語句返回的結(jié)果

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

執(zhí)行到這里,我們已經(jīng)將數(shù)據(jù)從數(shù)據(jù)庫中原樣的查出來了,但具體如何之取出我們需要的數(shù)據(jù)呢,顯然, 假如我們查詢的 sql 返回的只是一個數(shù)據(jù),上面的方式已經(jīng)可以滿足我們的需求的,如我們查詢數(shù)據(jù)的記 錄數(shù),

select count(*) from test

查詢出來的結(jié)果就是我們需要的內(nèi)容,或者通過正則表達式的獲取即可獲取我們的內(nèi)容。 但假如像上面那樣子,我們獲取出來的是多行數(shù)據(jù),我們需要如何來對數(shù)據(jù)進行遍歷,只獲取出我們 需要的數(shù)據(jù)呢?請看下面的分析。

四、JDBC Request 參數(shù)化

方法(一)、定義變量,在 sql query 中使用變量:

1、在 Test Plan 中定義一個變量(當然也可以使用參數(shù)化:Jmeter 參數(shù)化):

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

2、sql query 中使用${變量名}的方式引用:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

方法(二)、在 sql query 中使用”?“作為占位符,并傳遞參數(shù)值和參數(shù)類型,如下圖所示:

1、傳遞的參數(shù)值是常量,如圖傳遞 2 個變量,多個變量使用” , “ 分隔。這里假如你有數(shù)據(jù)是 int 類 型的,也要在 Parameter types 那里標示為 varchar 類型,否則無法運行。

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

2、傳遞的參數(shù)值是變量,使用${變量名}的方式

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

五、Variables names 參數(shù)使用方法:

jmeter 官網(wǎng)給的解釋是:如果給這個參數(shù)設(shè)置了值,它會保存 sql 語句返回的數(shù)據(jù)和返回數(shù)據(jù)的總行數(shù)。 假如,sql 語句返回 2 行,3 列,且 variables names 設(shè)置為 A,C,那么如下變量會被設(shè)置為:

A_#=2 (總行數(shù))A_1=第 1 列, 第 1 行A_2=第 1 列, 第 2 行C_#=2 (總行數(shù))C_1=第 3 列, 第 1 行C_2=第 3 列, 第 2 行

如果返回結(jié)果為 0,那么 A_#和 C_#會被設(shè)置為 0,其它變量不會設(shè)置值。 如果第一次返回 6 行數(shù)據(jù),第二次只返回 3 行數(shù)據(jù),那么第一次那多的 3 行數(shù)據(jù)變量會被清除。 可以使用KaTeX parse error: Expected group after ’_’ at position 3: {A_̲#}、{A_1}…來獲取相應(yīng)的值

示例:我們還是用上面的數(shù)據(jù)庫,把所有數(shù)據(jù)查出來,test 表有有 3 個字段,5 條記錄(忘記了的可以回到 第一步那里查看)

1、添加一個jdbc request名為”參數(shù)4“,添加一個”Debug Sampler“用來查看輸出的結(jié)果,設(shè)置 variables name 為 column1,column2,column3:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

2、執(zhí)行結(jié)果:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

解析:column1 代表第一列所有的數(shù)據(jù),column1_#可以獲取到第一列的行數(shù) column1_n:獲得第一列第 n 行的數(shù)據(jù)。 column2 和 column3 的功能類似, 假如我們只需要第一列和第三列的數(shù)據(jù),可以寫成 column1,column3,中間的','不可以省略。

六、Result variable name 參數(shù)使用方法:

如果給這個參數(shù)設(shè)置值,它會創(chuàng)建一個對象變量,保存所有返回的結(jié)果,獲取具體值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

執(zhí)行結(jié)果:

python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解

到此這篇關(guān)于python軟件測試Jmeter性能測試JDBC Request(結(jié)合數(shù)據(jù)庫)的使用詳解的文章就介紹到這了,更多相關(guān)python Jmeter性能測試 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 成人激情视频在线观看 | 四虎影音| 国产精品一区二区不卡 | 超碰在线国产 | 91av导航| 亚洲综合大片69999 | 日韩一区二区三区在线观看 | 99pao成人国产永久免费视频 | 91精品国产91| 久久综合久久久 | 黄色日本视频 | 性网站免费| 精品国产99 | 99久久久国产精品免费消防器 | 波多野结衣精品在线 | 日韩免费三级 | 91精品久久久久久久久久入口 | 99精品欧美一区二区三区 | 精品成人在线观看 | 中文字幕在线一区 | 成人 在线 | 亚洲日韩中文字幕 | 成人三级av | 欧美日韩1区2区 | 久久爱黑人激情av摘花 | 91在线观看 | 亚洲天堂中文字幕 | 成人免费福利视频 | 久久久www成人免费精品 | 国产一区二区三区在线视频 | 久久精品久久精品久久精品 | 综合伊人 | 精品一区二区三区四区 | 久久久久香蕉视频 | 成人免费视频 | 国产黄色av网站 | 日本午夜精品 | 午夜视频一区二区 | 色射综合 | 亚洲h视频| 丁香一区二区 |