Qtp-error-handling

提供:Dev Guides
移動先:案内検索

QTP-エラー処理

QTPでエラーを処理するにはさまざまな方法があります。 QTPの操作中に発生する可能性のあるエラーには、3つのタイプがあります。 彼らは-

  • 構文エラー
  • 論理エラー
  • 実行時エラー

エラーの種類

構文エラー

構文エラーは、VBscripting言語の文法で確認できないタイプミスまたはコードの一部です。 構文エラーはコードのコンパイル時に発生し、エラーが修正されるまで実行できません。

構文を確認するには、キーボードショートカットCtrl + F7を使用します。結果は次のように表示されます。 ウィンドウが表示されない場合は、「表示」→「エラー」に移動できます。

エラー処理

論理エラー

スクリプトは構文的には正しいが、予期しない結果を生成する場合、論理エラーとして知られています。 通常、論理エラーは実行を中断しませんが、誤った結果を生成します。 論理エラーは、さまざまな理由、つまり、要件の誤った仮定または誤解、および場合によってはプログラムロジック(do-Untilの代わりにdo-whileを使用)または無限ループが原因で発生する可能性があります。

論理エラーを検出する方法の1つは、ピアレビューを実行し、QTP出力ファイル/結果ファイルを検証して、ツールが本来の方法で実行されたことを確認することです。

実行時エラー

名前が示すように、この種のエラーは実行時に発生します。 この種のエラーの理由は、何かを実行しようとするスクリプトが実行できないことと、実行を続行できないためにスクリプトが通常停止することです。 実行時エラーの典型的な例は次のとおりです-

  • ファイルは見つかりませんでしたが、スクリプトはファイルを読み取ろうとしています
  • オブジェクトは見つかりませんでしたが、スクリプトはその特定のオブジェクトに作用しようとしています
  • ゼロで数値を除算する
  • 配列要素にアクセス中に範囲外の配列インデックス

実行時エラーの処理

コード内のエラーを処理するにはさまざまな方法があります。

1. テスト設定の使用-エラー処理は、以下に示すように「ファイル」>>「設定」>>「実行」タブに移動して、テスト設定を定義できます。 指定した設定のいずれかを選択して、「OK」をクリックします。

エラー処理

2. On Errorステートメントの使用-「On Error」ステートメントは、VBScriptエンジンがユーザーフレンドリーでないエラーメッセージを表示できるようにするのではなく、テスターが実行時エラーを処理する意図をVBScriptエンジンに通知するために使用されます。

  • On Error Resume Next -On Error Resume Nextは、エラーが発生したときにVBScriptエンジンに次のコード行を実行するよう通知します。
  • On Error Goto 0 -これは、テスターがエラー処理をオフにするのに役立ちます。

3. Errオブジェクトの使用-エラーオブジェクトは、コードを簡単にデバッグできる実行時エラー番号とエラーの説明をキャプチャするVBScript内の組み込みオブジェクトです。

  • Err.Number -Numberプロパティは、エラーを指定する数値を返すか設定します。 Err.Number値が0の場合、エラーは発生していません。
  • Err.Description -Descriptionプロパティは、エラーに関する簡単な説明を返すか、設定します。
  • Err.Clear -ClearメソッドはErrオブジェクトをリセットし、それに関連する以前の値をすべてクリアします。

'Call  the function to Add two Numbers Call Addition(num1,num2)

Function Addition(a,b)
   On error resume next
      If NOT IsNumeric(a) or IsNumeric(b) Then
         Print "Error number is  " &  err.number & " and description is :
            " &  err.description
         Err.Clear
         Exit Function
      End If
   Addition = a+b

   'disables error handling
   On Error Goto 0
End function

4. Exitステートメントの使用-Errオブジェクトと一緒にExitステートメントを使用して、Err.Number値に基づいてテスト、アクション、または反復を終了できます。 これらのExitステートメントのそれぞれを詳細に見てみましょう。

  • ExitTest -実行時の反復設定に関係なく、QTPテスト全体を終了します。
  • ExitAction -現在のアクションを終了します。
  • ExitActionIteration -アクションの現在の反復を終了します。
  • ExitTestIteration -QTPテストの現在の反復を終了し、次の反復に進みます。

5. 回復シナリオ-エラーが発生すると、特定の条件に基づいて回復シナリオがトリガーされます。詳細については、別の章で説明します。

  • 6. Reporter Object *-Reporter Objectは、実行結果にイベントを報告するのに役立ちます。 関係するアクション/ステップが合格/不合格かどうかを識別するのに役立ちます。
'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details,
[ImageFilePath]

'Example
Reporter.ReportEvent micFail, "Login", "User is unable to Login."