注: JMeter を使用して MySQL データベースを操作するにはどうすればよいですか? 読めばすぐにわかる!

最近、インターフェイスのテストに JMeter を使用しましたが、データ データベースの使用が必要なシナリオに遭遇しました。これは、データベース内のデータを表示する前に合計または平均する必要があるデータ レポートに関するページです。

アサートしたい場合は、データベースに接続し、SQL ステートメントを記述して SQL クエリの結果とページの結果を比較する必要があります。

MySQL データベースを例として挙げると、具体的な実装手順は次のとおりです。

一、加载JDBC驱动

二、连接数据库

三、数据库的查询(单值/多值引用)

1. JDBCドライバーをロードする

1) ドライバー jar パッケージをローカルで準備します。

注意:驱动包的版本一定要与数据库的版本匹配,驱动版本太低可能导致连接报错。

1.ネットワークディスクのダウンロード

MySQL ドライバーを準備します。見つからない場合は、ネットワーク ディスクからダウンロードできます: リンク: https://pan.quark.cn/s/b59620ad7f30、抽出コード: 6WWw、ファイルを JMeter インストール フォルダーに置きます

写真

2.公式サイトからダウンロード

公式 Web サイト https://dev.mysql.com/downloads/connector/j/ にアクセスし、「プラットフォームに依存しない」を選択します。「ダウンロード」をクリックして解凍し、jar ファイルを見つけて、そのファイルを JMeter インストール フォルダーに置きます。

写真

写真

2) ドライバーパッケージをインポートする

JMeter のテスト計画で、「ディレクトリまたは jar をクラスパスに追加」を見つけ、その横にある「参照」をクリックし、パッケージを選択してインポートします。

写真

2. データベースに接続します

1) コンポーネントの JDBC 接続構成を追加します

スレッドグループを選択し、右クリックして追加 – 構成要素 – JDBC 接続構成

写真

二)配置JDBC Connection Configuration

写真

1. 名前: デフォルトでは空ですが、名前をカスタマイズすることも、空のままにすることもできます

2. コメント: デフォルトでは空、カスタマイズ可能、または空

3. 作成されたプールの変数名: 接続名 (たとえば、s_mysql1 という名前) は一意に識別され、後続の JDBC リクエストで使用される必要があるため、JDBC サンプラー内の名前と一致している必要があります。 jdbc リクエストを行うときにどのデータベースをリクエストするかを決定する必要があること。

4. 最大接続数: 接続プールで許可されるデータベース接続の最大数。デフォルトは 10 です。パフォーマンス テストを行う場合は、0 を入力することをお勧めします。

5. Max Wait(ms): 接続プールから接続を取得するための最大待機時間 (ミリ秒)、デフォルトは 10000、デフォルトで十分です。

6. エビクション実行間の時間 (ミリ秒): スレッドのアイドル時間 (ミリ秒)、デフォルトは 60000、デフォルトで十分です。 7. 自動コミット:
SQL ステートメントを自動的に送信します。オプションは 3 つあります: True、False、Edit (JMeter によって提供される関数設定)、デフォルトは true、デフォルトで問題ありません

8. トランザクション分離: トランザクション分離レベル。デフォルトは DEFAULT です。デフォルトで十分です。

9. Test While Idle: 接続がアイドル状態のときに切断するかどうかをテストします。デフォルトは True です。デフォルトは OK です。

10. ソフト最小排除可能アイドル時間 (ミリ秒): 接続プール内の接続の最小アイドル時間 (ミリ秒単位)。接続プール内の接続がアイドル状態で、「Soft Min Evictable Idle Time」の設定値を超えると、接続プールはこれらのアイドル接続をリサイクルすることを選択する場合があります。デフォルトは 5000 です。デフォルトで問題ありません。

11. 検証クエリ: SQL 構文を検証します。デフォルトは select1 です。デフォルトで十分です。

12. データベース URL: データベース接続 URL。キャラクタ セット CharacterEncoding=utf-8 を使用できます。また、複数の SQL ステートメントの実行を許可することもできます。allowMultiQueries=true。また、タイム ゾーン serverTimezone=UTC (jdbc など) を指定することもできます。 mysql://10.0.41.104: 33066/u_backend?serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=true

13. JDBC ドライバー クラス: JDBC クラス、デフォルトでは空、必須 mysql の場合は、com.mysql.jdbc.Driver を選択します

14. ユーザー名: データベースのユーザー名

15. パスワード: データベースのパスワード

3. データベースクエリ(単一値/複数値参照)

1) JDBCリクエストの追加

1. シンプル コントローラーを選択し、右クリックして –Sample –JDBC Request を追加します。

写真

追加が成功したら、対応するパラメータを入力します。

名前: カスタム

JDBC 接続設定で宣言されたプールの変数名: JDBC 接続設定で作成されたプール値の変数名と一致するようにする

クエリ タイプ: 入力された SQL 選択に基づいて、クエリには [ステートメントを選択] を選択し、更新には [ステートメントを更新] を選択します。

変数名: SQL クエリ結果に対応するフィールド値。フィールド値の数だけ、対応する値が存在します。たとえば、SQL がフィールド値 reg_count を見つけた場合、1 つの変数 count に次のものが対応します。

結果セットの処理: デフォルトは「文字列として保存」です。デフォルト値を選択するだけです。このオプションを選択すると、クエリ結果は文字列の形式で変数に保存されます。

ここに画像の説明を挿入します

2) HTTPリクエストを追加

HTTP リクエストを追加し、名前、HTTP リクエストのメソッド、パスなどを入力します。

写真

3) 応答アサーションを追加する

1. 変数を参照する

変数を引用する形式は、変数名の行数 ({変数名_行数} など) です。たとえば、変数名の行数 ({count_1} など) は、変数内のデータを参照することを意味し
ます

 クエリ結果の count フィールドの最初の行、KaTeX 解析エラー: 位置 5 の '_' の後に予期されるグループ: {変数名_̲#} は返された行数を表します。たとえば、{count_#} は返された行数を表します。 。

写真

2. 複数の変数を参照する

SQL クエリによって返される値が複数ある場合、たとえば、5 行のレコードがクエリされ、各行に 3 つのフィールドがあり、pid_reg_count は変数 count に対応し、pid_fee は変数料金に対応し、income は変数収入に対応します。 。

写真

写真

デバッグ サンプルを追加して、各値がどのように取得されるかを確認できます。KaTeX 解析エラー: 位置 7 の '_' の後に期待されるグループ: {count_̲#} は返される行数を表し、{count_1} はカウント フィールドの最初の番号を表します返された行の値 ${count_2} は、返された count フィールドの 2 番目の行の値を表します。

Fee1 は返された手数料フィールドの最初の行の値を表し、{income_1} は返された収入フィールドの最初の行の値を表します。等々。

写真

今日の共有はここまでです。皆さんにインスピレーションを与えることができれば幸いです。

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それほど価値のあるものではありませんが、使用できる場合は、直接受け取ることができます。

ここに画像の説明を挿入します

この情報は、[ソフトウェア テスト] の友人にとって最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。また、皆さんのお役に立てれば幸いです。

おすすめ

転載: blog.csdn.net/NHB456789/article/details/133078932