JMeterデータベースクエリ操作手順詳細説明
ヒント
JMeterでMySQLデータベースに接続する方法については、すでに前回の記事で詳しく説明しました。データベース接続の設定は、比較的固定されたステップなので、ここでは繰り返しません。
この記事では、主に
JDBC Request
コンポーネントを使用し、クエリのためにデータベースに対してさまざまな操作を行う方法について説明します。
JMeterのクエリ文の手順。
- テスト計画を追加します。
- スレッドグループを追加し、スレッドグループの数を設定します。
-
追加
JDBC Connection Configuration
コンポーネントを使用して、データベース接続を設定します。 -
を追加します。
JDBC Request
リクエスト、SQL文の記述、パラメータ化の使用。SQLリクエストを送信するスクリプトを実行します。 - ビュー結果ツリーを追加し、結果を表示する。
1. パラメタライゼーションを実装するために "ユーザー定義変数" を使用する。
すなわち
SQL Query
パラメータ化された変数を使用する。
JMeterでは、"ユーザー定義変数"を設定できる場所が2箇所あります。
1つは、"Test Plan"画面で"user-defined variables"を設定することです。
1つは、configure要素に"user-defined variables"を追加することです。
テスト計画書」を例にとって説明します。以下はその図です。
(1) "テスト計画"画面で、"ユーザー定義変数"を設定します。
今回は、以下のようにカスタム変数User IDを追加しました。
(2)内
JDBC Request
インターフェイスの
SQL Query
で
${variable name}
を参照してください。
-
への参照を追加しています。
Varíable Name
対応するデータベース設定名を記入するのですが、これはJDBC Connection Configuration
コンポーネントのVaríable Name
に対応する。 -
Query Type
: 選択Select Statement
というのも、クエリSQL文は1つしか作っていないからです。 -
でSQL文を書きます。
${variable name}
を使用して、パラメータ化された変数を参照します。
次の図のように
2. SQLクエリでパラメータを渡すためのプレースホルダーの使用
渡されたパラメータ値には定数と変数があります。
(1) 渡されたパラメータの値が定数である場合
2つの定数を渡す:ユーザーID=3、ユーザー名=孫悟空。
注意してください。
-
プレースホルダー付きのSQL文を送る必要がある場合は
Query Type
: を選択する必要があります。Prepared Select Statement
/code . -
Parameter values
パラメータ値やParameter types
パラメータタイプは、両方とも記入する必要があります(パラメータタイプは、テーブル設計構造におけるタイプと一致すれば十分です)。プレースホルダーが複数ある場合は、カンマで区切って複数のデータセットが必要である。 - SQLリクエストを送信する際、最初のパラメータは自動的に最初のプレースホルダに割り当てられ、以降、パラメータの記述順に注意して送信されます。
次の図のように
(2)渡されたパラメータの値が変数
つまり、プレースホルダが受け取った引数はパラメタライズド変数である。対応する定数の位置をとってパラメタライズド変数にするだけで、あとは上記と同じです。
次の図のように
このように、さまざまな形式のパラメタライズを利用することができます。パラメタリゼーションについては、前回の記事で詳しい説明があります。
3. 変数名の使用 パラメータ化
Variables names
パラメータの目的は、SQL文のクエリからデータを変数に保存することです。一般に、クエリはいくつかのフィールドを返し、それを受け取るためにいくつかの変数が使われ、異なる変数はカンマで区切られます。
JMeterのウェブサイトに記載されている説明では、このパラメータに値を設定すると、SQL文が返したデータと返したデータの合計行数が保存されるとのことです。
例えば、SQL文が2行3列のデータを返した場合、そして
Variables names
が設定されます。
A,B,C
とすると、以下の変数に設定されます。
A_#=2 # A列の行の総数
A_1=3 # A列の最初のデータ、すなわち1列1行目
A_2=4 # A列の2番目のデータ、つまり1列目2行目のデータ
B_#=2 # B列の総行数
[email protected] # B列の最初のデータ、すなわち2列目1行目
[email protected] # B列の2番目のデータは、2列2行目です。
C_#=2 # C列の総行数
C_1=Sun Wukong # C列の3列目、1行目のデータ
C_2=Piggy # セコンドA_#
コンポーネントは、JMeterスクリプトの実行ですべての変数を表示することができます)
C_#
次の図のようなリクエストの結果です。
表示
${A_#}
を次の図に示します。<イグ
上の図から、JMeterがデータベースクエリからのデータをスレッド変数に格納していることがわかります。
ヒント
${A_1}
は最初の列のすべてのデータを表します。Debug Sampler
は、最初の列の行数を取得することができます。JDBC Request
1列目n行目のデータが取得できる。Variable names
とDebug Sampler
も同様で、1列目と3列目のデータだけが必要な場合は、次のように書くことができます。Debug Sampler
と真ん中のJDBC Request
を省略することはできません。4、結果変数名パラメータ使用方法
このパラメータに値を設定すると、返されたすべての結果を保持するオブジェクト変数が作成されます。
例
(1)
Debug Sampler
コンポーネントインターフェイスの内容での
A
で受信データの変数名を定義する。次の図のように
(2) 結果を見る
サンプラーを追加する
A_#
をクリックすると出力が表示されます。(A_n
コンポーネントは、JMeterスクリプトの実行ですべての変数を表示することができます)
B
次の図のようなリクエストの結果です。
表示
C
を次の図に示します。<イグ
(3)データ処理
上で見た結果セット、その中のデータをどのように活用するか?
を作成すればいいのです。
A,,C
サンプラーを作成することもできますし,
サンプラーを追加するか、あるいは、その下のレベルのポストプロセッサーを追加するかです。JDBC Request
コンポーネントを使用します。後のインターフェイスのリクエストに提供するために必要な指定されたデータを取得するために、内部に以下のコードを記述してください。
オブジェクト内の特定のデータを取得するためのメソッド。
Result variable name
5. まとめ
上記では
Debug Sampler
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
DataGripでクリックハウスの時間フィールドが正しく表示されない
-
ナビカット15のインストールチュートリアルを超詳しく解説(一番信頼できるのはこれ)
-
SQLyogダウンロード、インストール超詳細チュートリアル(プロテスト永久保存版)
-
Navicat for Mac システムチュートリアルのインストールと使用方法
-
Dbeaverを使ったHiveへのリモート接続の詳細方法
-
データベース管理ツール「Navicat」と「DBeaver」を一挙に読む
-
NavicatでMySqlデータベースへの接続が遅い問題
-
navicat トランザクションの自動コミット問題について
-
タイプインジェクションとコミットインジェクションのSQLインジェクションチュートリアル
-
Navicat Premium 12でOracleに接続する際にoracle library is not loadedと表示される問題の解決