関数ライブラリ(テストのリソース設定で参照されている)の1つに関数を挿入しました。次のようになります。
Public Function NWRecoverOnRunStep (AObject,AMethodName,AArguments,AResult)
Print "NWRecoverOnStep MethodName='" & AMethodName & "' Result=" & AResult
End Function
(明らかに、私は探索段階にあります;)
また、「エラー時にNWRecoverOnRunStepを呼び出す'オブジェクトが見つかりません'」というリカバリシナリオを作成し、それをリカバリシナリオファイルとして保存して、そのファイルをテストに関連付けました。
テストを実行すると、QTPは「ライブラリファイルのエラー」、blabla、および詳細の下に「エラー」と表示します。
File: [QualityCenter\Resources] mylib.qfl
line (1): 'Dim CaptchaCheckActive '.
Description: Name redefined
(私はすべてのライブラリで明示的なオプションを使用しています。)(そして:もちろん、「Dim CaptchaCheckActive」はライブラリで定義された最初のグローバル変数であり、ライブラリmylib.qflにはこの宣言とリカバリハンドラの両方が含まれています。)
Q:これは、ライブラリがテストに2回リンクされているためです。1回は「従来の」関数ライブラリであり、もう1回は回復シナリオ関数を含むためです。
代替Q:回復シナリオ処理関数は、独自の関数ライブラリに存在する必要がある、つまり、他のユーザー定義関数とは別に存在する必要があるというのは本当ですか?
私はそれがdoxに述べられているのを見ませんでした。