データから結果セットを見つけるためのデータ方法に関する Jmeter のエッセイ

1. Jmeter がデータベースに接続します

1. データベースに対応するドライバー パッケージをjmeter インストールディレクトリの lib 配下の ext ファイルにダウンロードし、jmeter テスト プランにインポートします (この例では、以下に示すように mysql が使用されます)。

「テスト計画」をクリック–> 「参照」をクリック –> mysql ドライバー jar パッケージを選択 –> 「開く」

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

2. スレッド グループを追加し、スレッド グループの下に新しい JDBC 接続構成コンポーネントを作成します。詳細な構成は次のとおりです。

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

その中で、変数名: testdb は変数名を定義します。その機能は、どの JDBC リクエストがこの設定を参照する必要があるかを示すことです。この変数は、jdbc リクエストを行うときに使用する必要があります。変数値は一貫性を保つようにカスタマイズできます。

データベース接続構成は、アクセスするデータベース情報を構成します。

データベースURL: データベース接続情報

JDBC ドライバークラス: com.mysql.jdbc.Driver データベース接続ドライバー名

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

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

この時点で、接続障害が発生している可能性があります。ここで次の状況が発生しました。確認してください。

: ローカル mysql に接続する場合、ローカル mysql バージョン: 5.0 は、接続 mysql ドライバー パッケージを更新することで後で解決されます。

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

3. 新しい JDBC リクエストを作成してデータベースへの接続をテストします。詳細な手順は次のとおりです。

変数名: 参照する必要がある JDBC 構成を入力します (現在入力されている値は JDBCConnection 構成と同じ名前です)。2 つの変数名は一貫している必要があります。つまり、どのデータベース接続が参照されるかを意味します。クエリ タイプ: Enterクエリのタイプ (デフォルトでは Select が選択されています) ステートメント、つまり最初の select ステートメントのみを実行します)

結果変数名: クエリされた結果をこの結果セットに入れます (result)

4. BeanShell PostProcessor を追加し、そこから結果セットを取り出し、
結果セット内のデータを取り出します。

columnValue =vars.getObject(“resultObject”).get(0).get(“列名”);

vars.getObject("resultObject"): データの取得元の結果セットを表します。

get(0): どの行を取得するか

get("ColumnName"): 取得する列 (どの列が JDBCRequest クエリ結果のフィールド名であるか)

述べる:

1)columnValue= vars.getObject("resultObject").get(0).get("Column Name")、返される型はオブジェクト型です。

2) Object 型を String 型に変換する必要があります (object.toString() の名前を取得します)。

例: columnValueResule.toString())。ここで、columnValueResule は取り出されたオブジェクトの名前です。

3) vars.put("key",Value) メソッドを使用して、抽出した変数を jmeter に置きます。

例: vars.put(“xxxx”,DBclassname.toString()); このクエリ ステートメントの結果を引用したい場合は、キー値を引用するだけで済みます。

2. Jmeter が Json 形式のデータを処理する 2 つの方法

たとえば、次の JSON データからトークン値を取得するとします。

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

1. 正規表現を使用してリクエスト応答から値を抽出する

  1. Jmeter正規表現エクストラクターを追加

「追加」→「ポストプロセッサ」→「正規表現抽出」

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

2)Jmeter正規表現抽出コントロールパネル

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

で:

参照名: 変数名を定義します。後続のリクエストで参照される変数名です。入力された場合: token、後続の参照メソッドは ${token} です。

正規表現: 内容を抽出するための正規表現。lr の関連関数に相当します。

()で囲まれた部分が抽出対象であり、言及したい内容は括弧で囲む必要があります。

.ドットは任意の文字列に一致することを意味します

1 回または複数回
? 最初の一致を見つけたら停止する

テンプレート: $$ で囲みます。正規表現に複数の正規表現 (複数の括弧で囲まれた) がある場合、2 2 2、3 3 3 などになり、どの値が解析されるかを示します。例: 1 1 1 は、最初に一致した値を表します。

一致数: 0はランダムな値、-1はすべての値を表し、抽出結果は配列であり、残りの正の整数は抽出される一致するコンテンツの数を表します。一致する番号が -1 の場合、loginname 1 を使用して最初に一致するコンテンツを取得することもできます。 { login_name _1} を使用して最初に一致  するコンテンツを取得します。 login name を使用して最初に一致するコンテンツ 1 を取得することも      _2
     } 2 番目に一致するコンテンツを取得します。


デフォルト値: 通常のマッチングが失敗した場合に取得される値。

JMeter のプラグイン JSONPath を使用して、JSON データ内のフィールドのデータを取得します。
1) [追加] -> [ポストプロセッサ - JSON エクストラクタ]

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

2) 使用方法

変数名: 変数名

JSONPath 式: JSON 式

一致番号: どれに一致するか。空でもかまいませんが、デフォルトは最初の番号です。

デフォルト値:値が取得されなかった場合のデフォルト値

注: JSON Path Tester を使用して、結果ツリー内の JSON パスをデバッグします。

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

注: jmeter は vars.get("token"); を通じて読み取られます。


              [以下は私がまとめた 2023 年の最も包括的なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です]


1. Python プログラミングの入門から習得まで

2. インターフェース自動化プロジェクトの実践

3. Web自動化プロジェクトの実戦


4. アプリ自動化プロジェクトの実践

5. 一流メーカーの履歴書


6. DevOps システムのテストと開発

7. 一般的に使用される自動テストツール


8. JMeter パフォーマンス テスト

9. まとめ(最後にちょっとしたサプライズ)

寿命が長いのでオイルを追加してください。すべての努力は裏切られることはなく、粘り強く続ける限り、いつかは報われます。自分の時間を大切にして夢を追いかけてください。初心を忘れずに邁進してください。あなたの未来はあなたのコントロール次第です!

人生は短く、時間は貴重です。将来何が起こるかを予測することはできませんが、現在をコントロールすることはできます。一日一日を大切に、一生懸命働き、自分自身をより強く、より良くしてください。確固たる信念と粘り強い追求があれば、成功は最終的にあなたのものになります。

常に自分自身に挑戦することによってのみ、常に自分を超えることができます。夢を追い続け、勇敢に前に進んでいくと、その葛藤の過程がとても美しく、やりがいのあるものであることに気づくでしょう。自分を信じてください、あなたならできるよ!

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

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

おすすめ

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