でのアクション QTP/UFT 例を挙げて
⚡ スマートサマリー
でのアクション UFT/QTP テストスクリプトを論理的で再利用可能な単位に分割することで、テスターは自動化をより迅速に構築、保守、共有できるようになります。このページでは、3種類のアクションタイプ、それらを分割して呼び出す方法、およびアクション間でデータを渡す方法について説明します。

アクションとは何か UFT/QTP?
in UFT/QTP テストを「論理単位」または「ビジネスプロセス」に分割します。各アクションは、ログイン、フライト検索、チケット予約など、認識可能なタスクを実行する手順をグループ化します。アクションを使用することで、よりモジュール化され効率的なスクリプトを作成できます。
スクリプトが新しく作成された時点では、アクションは1つだけです。Micro Focusにアクションを追加できます。 UFT 要件に従ってスクリプトを作成し、追加された各アクションは、テストの他の部分とは別に独自のロジックとローカルデータを保持します。
長いスクリプトをアクションに分割すると、テストの変更が必要になった際に大きなメリットが得られます。テスターは、ログインシーケンスなどのアクションのみを更新でき、他のアクションに含まれる検索やチェックアウトのロジックには手を加える必要がありません。このようにアクションを分離することで、他のスクリプトから呼び出して同じ手順を再度記録する必要がなくなり、再利用可能な構成要素として活用できます。
例えば、一般的な航空券予約スクリプトは、ログインアクション、フライト検索アクション、チケット予約アクションにきれいに分割されます。それぞれが独自のステップとローカルデータを持つため、ログインの確認だけが必要なテスターは、予約フローを記録したり維持したりする必要は一切ありません。
アクションの種類 UFT/QTP再利用可能、再利用不可、外部
UFT/QTP 3種類のアクションをサポートしており、選択したタイプによって、アクションを複数のスクリプト間で共有できるか、作成されたテスト内でのみ有効になるかが決まります。
| アクションタイプ | 実行可能な場所 | 呼び出しテストで編集可能 |
|---|---|---|
| 再利用可能な | 同じテストを複数回行う、またはその他のテストを行う | はい、それを所有するテストから |
| 再利用不可 | 作成されたテストのみ、かつ一度のみ | はい |
| 外部再利用可能 | 別のテストから共有保存アクションとして呼び出されます | いいえ、読み取り専用です。ローカルのデータテーブルのコピーのみが編集可能です。 |
再利用可能なアクションは 外部行動 別のテストが、そのテストを所有するテストではなく、呼び出し元のテストから呼び出した瞬間に、外部アクションは読み取り専用になります。これは、共有アクションが数十のスクリプトで同時に使用される可能性があるため、すべての呼び出し元がステップを編集できるようにすると、他のスクリプトが壊れてしまうためです。呼び出しをパラメータ化して、データ テーブルのコピーをローカルで操作することは可能です。
経験則として、新しいアクションのロジックがまだ特定のテストに特化している間は、そのアクションを再利用しないようにしておくべきです。 Promo2番目のスクリプトが同じ手順を必要とするようになったらすぐに再利用可能にし、2番目のスクリプトが実際にそれを呼び出した瞬間に、外部の読み取り専用アクションとして動作することを期待します。
分割、コピー、アクションの呼び出し方法 UFT
アクションが大きくなるにつれて、ping スクリプトの各ステップが1箇所に集中すると、デバッグや再利用が難しくなる。 UFT 既存のアクションが扱いにくくなった場合に、それを2つの方法で分割できるようにします。
- 独立した(兄弟姉妹間の)分割: 選択されたアクションは、2 つの別々のアクションに分割され、それぞれが順番に実行されます。ping 独自のローカルデータテーブル。
- ネストされた(親子)分割: 選択されたアクションは、親アクションと子アクションに分割され、親アクションの最後のステップが子アクションを呼び出し、両者の間に論理的な依存関係が維持されます。
アクションが存在する場合、 UFT テストにアクションを取り込むための 3 つの方法を提供します。 インサート メニュー:
- 新しいアクションの呼び出しを挿入します。 現在のテスト内に、新しい空のアクションを作成します。
- アクションのコピーへの呼び出しを挿入します。 既存のアクションを、チェックポイント、パラメータ設定、データテーブルタブを含め、呼び出し元のテストに完全にコピーします。コピーは完全に独立しているため、編集内容が元のアクションに影響を与えることも、元のアクションから影響を受けることもありません。再利用可能なアクションと再利用不可能なアクションの両方をコピーできます。
- 既存のアクションへの呼び出しを挿入する: 別のテストに保存されている再利用可能なアクションへの読み取り専用呼び出しを挿入します。この呼び出しは、作成されたテスト内でのみ変更できるため、すべての呼び出し元が同期され、大規模なテストスイートの保守が容易になります。
すべての呼び出しは、 RunAction 専門家の見解における声明:
' Calls Action2, which is stored in Test2, running it for one iteration RunAction "Action2[Test2]", oneIteration
アクションは、アクション呼び出しプロパティで指定された回数だけ実行されます。たとえば、Action2がTest2のデータテーブルの各イテレーションで実行されるように設定されている場合でも、Test1の呼び出し元であるAction1が1回しか実行されない場合、呼び出し自体が1回しかトリガーされないため、Action2も1回しか実行されません。
💡ヒント: テストに複数のアクションが含まれている場合は、 テストフロー 表示メニューからペインを選択してドラッグして並べ替えます。これにより、 UFT 個々のアクション内の手順を編集することなく、アクションを実行します。
以下のビデオは、以前のチュートリアルで作成した 5 つのステップのログイン スクリプトを基にしています。 フライト予約 そして、アクションの作成、分割、呼び出しを最初から最後まで解説します。これはこのシリーズで最も長いビデオです。 UFT/QTP チュートリアルシリーズそのため、視聴しながらメモを取ると役立ちます。
詳しくはこちら こちら ビデオにアクセスできない場合
アクション間でパラメータを渡し、出力値を保存する方法
実際のスクリプトのほとんどは、アクションを呼び出すだけでなく、データをスクリプトに入力し、結果を読み出す必要があります。 UFT すべてのアクションに独自の入力パラメータと出力パラメータを与え、さらに戻り値を永続化するための複数の方法を提供する。
アクションとの間でパラメータを渡す
と同じように 関数またはメソッド プログラミング言語では、アクションは入力と出力を定義できる。 パラメータこのパラメータは関係ありません テストデータのパラメータ化 前述のとおり、ここでのパラメータはアクション自体に属し、データテーブルの列には属しません。設定方法は 編集 > アクション > アクションのプロパティまたは、キーワードビューでアクションを右クリックします。呼び出し時に値を渡すには、次の構文を使用します。
' Passes an input value and captures the action's output into myResult RunAction "Action1", oneIteration, "testuser", myResult
アクションの出力値を保存する
スクリプトの残りの部分のニーズに応じて、アクションの戻り値を次の3つの場所のいずれかに保持することができます。
- 変数:
RunAction "Action1", oneIteration, "testuser", myResult出力を直接保存しますmyResult. - An 環境変数: ユーザー定義変数を作成する ファイル > 設定 > 環境、次に書く
RunAction "Action1", oneIteration, "testuser", Environment("env_var"). - データテーブルの列:
RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet)結果をグローバルシートに直接書き込みます。
グローバルおよびローカルのデータシート
アクションは、2種類のシートを通してテストデータを読み書きします。 グローバルデータシート テスト全体に固有のものであり、どの操作でもそこから読み取ったり書き込んだりすることができ、常に「Global」という名前が付けられます。 ローカルデータシート アクションごとに一意であり、そのアクションにちなんで名付けられ、自身のアクションのみが読み書きできます。
アクションの終了とイテレーションの制御
ステップでアクションを完了させるのではなく、途中で停止する必要がある場合、 UFT 以下の4つの声明を提供する。
ExitAction— 現在のアクションのみを停止します。ExitActionIteration— 現在のアクションの反復処理を停止し、次の反復処理に進みます。ExitRun—テスト実行全体を即座に停止します。ExitGlobalIteration— 現在のグローバルテストの反復処理を停止し、次の反復処理に進みます。
実行中、 UFT/QTP スクリプト アクションを使用する際には、グローバル反復とローカル反復の両方に注意してください。どちらもアクションが実際に実行される回数に影響します。呼び出されたアクションの繰り返し頻度は、次の方法で変更できます。 アクション呼び出しプロパティ > 実行 タブを開き、そこで反復モードを設定します。
⚠よくある落とし穴: ローカルイテレーションごとに実行されるように設定されている呼び出しアクションが、一度しか実行されない親アクションからトリガーされた場合、実行は一度だけになります。呼び出しアクションが繰り返されると想定する前に、親アクションのグローバルイテレーション数と子アクションの呼び出しプロパティの両方を確認してください。
