オプションのステップイン QTP/UFT 例を挙げて

⚡ スマートサマリー

オプションの手順 QTP (NAIST) と UFT コントロールが存在しない場合でも、実行セッションを続行させてしまうことがあります。ツールは該当するステップをスキップし、メッセージをログに記録して、失敗を記録することなくテストを完了します。

  • 🔘 目的: アプリケーションが記憶している可能性のあるログインプロンプトなど、時折しか表示されないコントロールを処理します。
  • ☑️ 設定方法は2つあります。 キーワードビューでステップを右クリックするか、ステートメントの前にOptionalStepキーワードを追加します。
  • 構文: OptionalStep の後にピリオドが続き、通常のステートメントが続きます。行には他に変更はありません。
  • 🧪 自動ケース: 特定の標準ダイアログボックスを開く手順は、ユーザーによる操作がなくてもオプションとして扱われます。
  • 🛠️ 限界: アプリケーションにオブジェクトが存在しない場合はスキップされますが、オブジェクトリポジトリにエントリが存在しない場合は実行が失敗します。
  • 📌 代替案: 条件文と回復シナリオは、オプションの手順ではカバーできないケースに対応します。

ステップをオプションのステップとして設定する QTP (NAIST) と UFT 1

オプションのステップとは何ですか QTP/UFT?

An オプションの手順 これは、実行セッションを正常に完了するために必ずしも必要な手順ではありません。

実行セッション中に、オプションのステップのオブジェクトがアプリケーションに存在しない場合 QTP バイパス このステップを実行し、テストを続行します。

ログインウィンドウはその典型的な例です。アプリケーションによっては、実行時にユーザー名とパスワードの入力を求め、次回実行時にはその情報を記憶している場合があるため、ログイン手順が必要な場合とそうでない場合があります。これらの手順をオプションとしてマークすることで、プロンプトが表示されない日でも実行が中断されるのを防ぐことができます。

実行セッションの最後に、ツールは実行しなかったステップを報告するため、スキップされたステップは結果に表示され、何も表示されません。ただし、このステップによって実行が失敗することはありません。

⚠️ バージョンノート: ここで説明する製品は、HP QuickTest Professionalとして出荷され、Micro Focus Unified Functional Testingに名称変更され、現在では OpenText 機能テスト(UFT XNUMX)オプションの手順は、これらのリリースすべてにおいて同じように動作します。

ステップをオプションとして設定する方法

ステップをオプションとして設定するには キーワードビュー ステップを右クリックして選択します 任意のステップ.

あるいは、ステートメントの前にキーワード「OptionalStep」を直接記述することで、そのステートメントをオプションにすることもできます。

構文は、キーワード、ピリオド、そして既に記述されている文です。それ以外の部分は何も変更されません。

OptionalStep.StatementToMakeOptional

実際の手順に適用すると、以下のブラウザダイアログが表示された場合はクリックされ、表示されなかった場合はスキップされます。

OptionalStep.Browser("Browser").Dialog("AutoComplete").WinButton("Yes").Click

同じ接頭辞は、リストから選択するステートメントを含め、あらゆるステートメントで使用できます。

OptionalStep.Browser("Mercury Tours").Page("Find Flights").WebList("depart").Select "Paris"

どちらのルートでも同じ結果が得られます。キーワード ビュー メニューはテストの作成中はより速く、スクリプトが記述された後はキーワードを一括適用するのが簡単です。 専門家の見解.

次のビデオでは、 オプションのステップ そしてそれがどのように使われることができるか。

詳しくはこちら こちら ビデオにアクセスできない場合

デフォルトのオプション手順 QTP (NAIST) と UFT 1

一部の手順は、マークする必要がありません。記録セッション中、ツールは、少数の標準ダイアログボックスを開く手順を自動的にオプションとして扱います。これは、これらのウィンドウが予期せず表示されることが知られているためです。

ダイアログボックスまたはメッセージボックスのタイトルバー
オートコンプリート
ファイルのダウンロード
インターネットエクスプローラ
ネットワークパスワードを入力してください
エラー
セキュリティーアラート
セキュリティ情報
セキュリティ警告
ユーザー名とパスワードが必要です

これらは自動的に処理されるため、セキュリティプロンプトをクリックするスクリプトは、通常、そのプロンプトが表示されないマシンでも問題なく再生されます。このリストにないダイアログは、手動でマークする必要があります。

オプションの手順がそれでも失敗した場合

オプションのステップは、対象物が存在しないというただ一つの事態を防ぐだけです。 。対象物が存在しないことを防ぐものではありません。 オブジェクトリポジトリ.

したがって、ツールがリポジトリ内でオプションのステップオブジェクトを見つけられない場合、実行は失敗します。これは通常、次の2つの理由のいずれかで発生します。

  • オブジェクトの名前はテストまたはコンポーネント内で変更されましたが、リポジトリ内では変更されなかったため、両者の名前が一致しなくなりました。
  • オブジェクトはリポジトリから削除されたが、それを使用するステップはスクリプト内に残された。

知っておくべき小さな落とし穴が2つあります。手順をオプションとしてマークしても、その手順がオプションになるわけではありません。 チェックポイント 実質的にはオプションとは言えません。なぜなら、スキップされたステップはチェックすべき値を生成しないからです。また、オプションのステップは条件を報告するのではなく、失敗を抑制するため、過剰に使用すると、実際には問題のあるリグレッションが、実行が成功したように見せかけて隠蔽されてしまう可能性があります。

オプションステップ vs 条件文 vs 回復シナリオ

オプションの手順は、発生するかどうかわからない事態に対処する3つの方法の中で最も簡便な方法です。適切な選択は、状況に応じてどの程度の制御が必要かによって異なります。

アプローチ 仕組み ベスト
オプションのステップ オブジェクトが見つからない場合、ツールはその手順をスキップし、メッセージをログに記録します。 ログインプロンプトなど、時折欠落する単一のコントロール
条件文 あなたの VBScript まず存在を確認し、分岐する 連続して実行しなければならない一連の手順、または報告書に記録すべき決定事項
回復シナリオ トリガーが作動し、実行中の任意の時点でリカバリ操作が実行されます 予測不能なポップアップやクラッシュが、あらゆる場所で発生する可能性がある

役立つ経験則として、制御の欠落が想定内で無害な場合はオプションのステップを使用し、スクリプトがその結果として異なる処理を実行する必要がある場合は条件文を使用し、中断が特定の行ではなくいつでも発生する可能性がある場合は回復シナリオを使用する。

よくあるご質問

いいえ。実行は続行され、正常に終了します。スキップされたステップを示すメッセージが実行結果に表示されるため、スキップは記録され確認できますが、失敗とはみなされません。

いいえ。キーワードは一度に1つのステートメントにのみ適用されるため、各行に独自のプレフィックスが必要です。複数のステップを同時に実行またはスキップする必要がある場合は、代わりに条件文で囲んでください。

このツールは行にマークを付け、項目列でそのステップがオプションのステップとして表示されるようにします。エキスパートビューに切り替えると、同じ行に「OptionalStep」という接頭辞がステートメントの前に付加された状態で表示されます。

オブジェクトがアプリケーションからではなく、オブジェクトリポジトリから欠落しているために発生します。スクリプト内でオブジェクトの名前を変更してもリポジトリ内で名前を変更しない場合、またはリポジトリのエントリを削除すると、まさにこのエラーが発生します。

機械学習モデルは、実行履歴をクラスタリングして、本当に問題が発生しているステップと、時折しか失敗しないステップを区別し、どの行にオプションのマーキング、待機、または修復されたロケーターを適用するべきかを、一律の再試行ではなく提案します。

Copilotはファイル内のパターンを認識すると、自動的にステートメントの先頭に特定の文言を挿入するため、一括編集が迅速に行えます。ただし、どのステップをオプションにすべきかを判断することはできないため、各提案をアプリケーションの実際の動作と照らし合わせて確認してください。

厳密には違います。スキップされたステップとは、無効化されたステップのことで、実行されません。オプションのステップは、そのオブジェクトが存在する限り常に実行され、コントロールが存在しない実行時のみスキップされます。

はい。動作は全く同じです。オブジェクトが検索され、アプリケーション内にオブジェクトが存在しない場合はそのステップがスキップされ、実行結果の最後にスキップされたステップの名前を示すメッセージが表示されます。