电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

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

1.本文使用的是 mysql 數據庫進行測試

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

2、數據庫中有表:test,表的數據結構如下:

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

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

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

3、添加需要的驅動 jar 包使用不同的數據庫,我們需要引入不同的 jar 包。

方式 1:直接將 jar 包復制到 jmeter 的 lib 目錄mysql 數據庫:無需引入其他數據庫驅動 jar 包。

sql server 數據庫:下載 sqljdbc4.jar 放到 jmeter 根目錄的 lib 目錄下

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

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

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

二、配置 JDBC Connection Configuration

重要參數說明:Variable Name:

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

Database URL:

數據庫 url,jdbc:mysql://主機 ip 或者機器名稱:mysql 監聽的端口號/數據庫 名稱, 如:jdbc:mysql://localhost:3306/test

**JDBC Driver class:**JDBC 驅動

**username:**數據庫登陸的用戶名

**passwrod:**數據庫登陸的密碼

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

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

填寫后大致如下:

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

三、配置 JDBC Request

重要的參數說明:

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

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

Parameter valus:參數值

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

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

Result variable name:創建一個對象變量,保存所有返回的結果

Query timeout:查詢超時時間

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

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

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

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

select count(*) from test

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

四、JDBC Request 參數化

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

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

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

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

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

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

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

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

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

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

五、Variables names 參數使用方法:

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

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

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

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

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

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

2、執行結果:

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

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

六、Result variable name 參數使用方法:

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

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

執行結果:

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 步入式高低温测试箱|海向仪器 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 宜兴紫砂壶知识分享 - 宜兴壶人| 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 快速卷帘门_硬质快速卷帘门-西朗门业 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 诗词大全-古诗名句 - 古诗词赏析 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 浙江自考_浙江自学考试网| 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 |