Jmeter之JDBC Request及引數化

2022-08-23 11:51:09 字數 2419 閱讀 5886

目錄jdbc request

這個sampler可以向資料庫傳送乙個jdbc請求(sql語句),並獲取返回的資料庫資料進行操作。它經常需要和jdbc connection configuration配置原件(配置資料庫連線的相關屬性,如連線名、密碼等)一起使用。

本文使用的是mysql資料庫

資料庫中有表

新增需要的驅動jar包

重要引數說明

database

driver class

database url

mysql

com.mysql.jdbc.driver

jdbc:mysql://host:port/

postgresql

org.postgresql.driver

jdbc:postgresql:

oracle

oracle.jdbc.driver.oracledriver

jdbc:oracle:thin:user/pass@//host:port/service

ingres (2006)

ingres.jdbc.ingresdriver

jdbc:ingres://host:port/db[;attr=value]

mssql

com.microsoft.sqlserver.jdbc.sqlserverdriver或者net.sourceforge.jtds.jdbc.driver

jdbc:sqlserver://ip:1433;databasename=dbname或者jdbc:jtds:sqlserver://localhost:1433/"+"library"

重要的引數說明:

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

select count(*) from test

查詢出來的結果就是我們需要的內容,或者通過正規表示式的獲取即可獲取我們的內容。

但假如像上面那樣子,我們獲取出來的是多行資料,我們需要如何來對資料進行遍歷,只獲取出我們需要的資料呢?請看下面的分析。

方法一、jmeter引數化,在sql query中使用變數

jmeter引數化,可以參考我之前的文章

sql query中使用$引用

方法

二、在sql query中使用」?「作為佔位符,並傳遞引數值和引數型別

傳遞的引數值是常量,多個變數使用","分隔

傳遞的引數值是變數,使用$的方式

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行

例項

新增乙個」debug sampler「用來檢視輸出的結果,設定 variables name為column1,column2,column3:

執行結果

解析:如果給這個引數設定值,它會建立乙個物件變數,儲存所有返回的結果,獲取具體值的方法:columnvalue = vars.getobject("resultobject").get(0).get("column name")

執行結果

jmeter執行緒跳轉 jmeter之執行緒組的使用

執行緒組 問題 為了能夠讓jmeter在做效能測試的時候,能夠像loadrunner場景設定中逐漸增加併發數,且逐漸減少併發使用者數,在不同的併發使用者數下,測試系統各個指標的變化。我們使用jmeter外掛程式jp gc stepping thread group 1 jmeter外掛程式 jp g...

玩轉Jmeter之jmeter元器件介紹3

一.jmeter八大元件件 取樣器,前置處理器,後置處理器,斷言,配置元件,邏輯控制器,定時器 作用域 按照樹形結構,注意某些元器件的作用範圍 1 取樣器 指用來發請求的,包括http請求,jdbc請求,websocket請求,rpc請求,部分協議可能需要自己做二次開發如mongodb壓測,mq壓測...

Jmeter之引數化

jmeter有幾個實現引數化的方法,這次使用的是csv data set config。使用的例子是web trader的login頁面。在tread group 右鍵,新增 配置元件 csv data set config user filename 儲存引數的檔案路徑,建議使用絕對路徑。檔案的字...