親オブジェクトの記述に関する問題を特定する Exist ステートメントの作成
関連:GUI テストおよびコンポーネント
オブジェクトに対する操作を記録すると、UFT One によって、親階層全体に基づいてオブジェクトが学習されます。したがって、実行セッション中に UFT One が親オブジェクトを識別できないと、オブジェクトは識別されません。
Msgbox と Exist メソッドを使用して階層の各オブジェクトを調べれば、問題のある親オブジェクトを簡単に特定できます。
たとえば、[オブジェクトのプロパティ]ダイアログ・ボックスに表示された Link オブジェクトの記述がオブジェクト・スパイの記述と一致していることを確認したにもかかわらず、次のステートメントまたはステップに対して「Cannot Identify Object(オブジェクトを識別できません)」というメッセージが表示されたとします。
Browser("MyCompany").Page("MyCompany").Frame("Navigate").Link("Arts & Humanities").Click
問題のあるステートメントの直前に、次のステートメントを挿入します。
Msgbox Browser("MyCompany").Exist
Msgbox Browser("MyCompany").Page("MyCompany").Exist
Msgbox Browser("MyCompany").Page("MyCompany!").Frame("Navigate").Exist
Msgbox Browser("MyCompany").Page("MyCompany!").Frame("Navigate").Link("Arts & Humanities").Exist
テストまたはコンポーネントを最初から実行すると、最初の行と 2 番目の行が問題なく実行され、それぞれのメッセージ・ボックスに True と表示されます。
しかし、UFT One によって 2 番目のステップが実行されると、Frame オブジェクトが見つからず、メッセージ・ボックスには False と表示されます。このことから、Frame テスト・オブジェクトの記述に問題があることがわかります。
問題のある親オブジェクトの記述を特定できたら、「オブジェクト記述に関する問題の解決方法」を参考にしてその記述を修正します。