テスト アプリケーションからのオブジェクト マップの更新

テスト アプリケーションの項目が変化した場合は、オブジェクト マップ UI を使用してそれらの項目のロケーターを更新できます。

  1. ソリューション エクスプローラ で、変更するオブジェクト マップがあるプロジェクトの オブジェクト マップ フォルダをクリックします。
  2. 次のいずれか 1 つを選んでください:
    • 使用するオブジェクト マップをダブルクリックします。
    • 使用するオブジェクト マップを右クリックし、開く をクリックします。
    オブジェクト マップ項目および各項目に関連付けられたロケーターの階層が、オブジェクト マップに表示されます。
  3. ロケータの更新 をクリックします。 Locator Spy が表示され、Silk4NET によってテスト アプリケーションが開かれます。
  4. 記録するオブジェクトの上にカーソルを合わせて、Ctrl+Alt を押します。 Silk4NETロケーター テキスト フィールドにロケーター文字列が表示されます。
  5. ロケーターの詳細 テーブルで、使用するロケーターを選択します。
  6. ロケーター テキスト フィールドに表示されているロケーターから、使用しない属性を削除します。
  7. ロケーターの検証 をクリックして、ロケーターが機能することを検証します。
  8. ロケーターをエディターに貼り付け をクリックして、オブジェクト マップのロケーターを更新します。
  9. 変更されたオブジェクト マップを保存します。
AUT からオブジェクト マップ項目を更新するときに、オブジェクト マップ ツリーのリーフ ノードの XPath 表現のみを変更できます。親ノードの XPath 表現を変更することはできません。オブジェクト マップ ツリー内のより高いレベルのノードにある XPath 表現が更新後に整合しなくなると、エラー メッセージが表示されます。

たとえば、次の 3 つの階層レベルを持つオブジェクト マップ ID を含むオブジェクト マップ項目があるとします:
WebBrowser.Dialog.Cancel
これらの階層レベルに対応する XPath 表現は次のようになります:
 /BrowserApplication//Dialog//PushButton[@caption='Cancel']
  • 最初の階層レベル: /BrowserApplication
  • 2 番目の階層レベル://Dialog
  • 3 番目の階層レベル://PushButton[@caption='Cancel']
次のロケーターを使用して、オブジェクト マップ項目を更新できます:
 /BrowserApplication//Dialog//PushButton[@id='123']
  • 最初の階層レベル: /BrowserApplication
  • 2 番目の階層レベル://Dialog
  • 3 番目の階層レベル://PushButton[@id='123']
2 番目のレベルの階層が一致しないため、次のロケーターを使用してオブジェクト マップ項目を更新することはできません:
 /BrowserApplication//BrowserWindow//PushButton[@id='9999999']
  • 最初の階層レベル: /BrowserApplication
  • 2 番目の階層レベル://BrowserWindow
  • 3 番目の階層レベル://PushButton[@id='9999999']