目錄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 儲存引數的檔案路徑,建議使用絕對路徑。檔案的字...