目次
I.はじめに
正規表現を使用して値を抽出する方法について説明しましたが、通常、抽出された値は同じスレッド内にあり、どのリクエストからも参照できますが、他のスレッド グループからも参照したい場合はどうすればよいでしょうか? 現時点では、グローバル変数に関する知識が必要になりますので、早速例から始めましょう。
1. BeanShell はグローバル変数 (クロススレッド グループ) を作成します。Beanshell サンプラーまたは Beanshell ポストプロセッサを使用できます。
1) ローカル変数 (スレッド グループ内) を作成します: トークン
2) Beanshell を使用して、作成されたローカル変数トークンを呼び出し、グローバル変数に newtoken という名前を付けます (例: ${__setProperty(newtoken,${token},)})
3) スレッドグループ全体でグローバル変数を呼び出す
方法 1: ${__P(newtoken)}; // グローバル変数を呼び出す
方法 2: ${__property(newtoken)}; //このようにグローバル変数を呼び出すこともでき、これは上記の書き方と同等です
方法 3: Beanshell プリプロセッサ - newtoken を取得して token1 に割り当てます。これは ${token1} によって参照できます。
文字列 a1=props.get("新しいトークン");
vars.put("トークン1",a1)
2. デモ例
1. [ログイン] スレッド グループの [統合ログイン] リクエストで、右クリック > [追加] > [ポストプロセッサ] > [正規表現] を選択し、正規表現を使用して、統合ログインが成功した後の応答結果内のトークンを抽出します。参照名は「トークン」です。
式ルールは次のように記述されます: "token":"(.*?)"
2. [ログイン]スレッドグループで右クリック > [追加] > [サンプラー] > [BeanShell サンプラー]を選択し、抽出したトークンをグローバル変数 newtoken として設定します。
スクリプトは次のように記述されます: ${__setProperty(newtoken,${token},)}
3. [xx システム] スレッド グループで右クリック > [追加] > [プリプロセッサ] > [BeanShell プリプロセッサ] を選択し、グローバル変数 newtoken を取得してトークンに割り当てます。
スクリプトは次のように記述されます。
文字列 a1=props.get("新しいトークン");
vars.put("トークン",a1)
4. 以上で、次のように、[xx system] スレッド グループ内のトークンを安全に参照できるようになります。
5. 最終的な操作とデバッグは次のとおりです。 (情報セキュリティの問題が含まれるため、次の図は大まかに撮影したものです)
1) デバッグ サンプラーを使用して、抽出されたトークンを確認します。
2) 図に示すように、[xx システム] スレッド グループは通常、[ログイン] スレッド グループのトークンを参照できます。
3) 図に示すように、統合ログインは [xx システム] に正常にジャンプし、ログインは成功します。
注: このリクエストの下にさらにいくつかのサブリクエストがある理由を知りたい人もいるかもしれません。はは、これにはリダイレクトの知識が必要です。Baidu で自分でダウンロードできます。
URL アサーションを追加します。
要約:
私の記事を注意深く読んでくださった皆さん、ありがとうございます!!!
私は過去数年間のソフトウェア テストのキャリアでまとめたいくつかの技術資料を個人的に編集しました。これには、電子書籍、履歴書モジュール、さまざまな作業テンプレート、面接ガイド、独習プロジェクトなどが含まれます。どなたでも下の名刺をクリックして無料で入手してください。お見逃しなく。