オブジェクト マップの変更

デフォルトでは、オブジェクト マップは読み取り専用です。オブジェクト マップを使用するビジュアル テストまたはスクリプトを記録すると、オブジェクト マップ項目が資産としてデータベースに追加されます。

オブジェクト マップを使用するビジュアル テストまたはスクリプトの記録が完了すると、別のユーザーがそのオブジェクト マップを使用しているかどうかが Silk Test Workbench で判断されます。別のユーザーがオブジェクト マップを変更していると、その旨を通知するメッセージ ボックスが表示され、変更しているユーザーの名前が示されます。ロックされたオブジェクト マップによって記録できなくなるのを防ぐには、オプション ダイアログ ボックスの ロック済みのオブジェクト マップに対してロケーターを記録する オプションを はい に設定します。このように設定すると、別のユーザーがオブジェクト マップを変更している場合に、以前に識別されたオブジェクト マップ項目が適用可能な場合に使用され、新しいオブジェクトを記録する場合にはロケーターが使用されます。

既存のオブジェクト マップは、オブジェクト マップに構造化要素をさらに追加したとしても、記録中に既存のオブジェクト マップ識別子を再利用することができます。

例:既存のオブジェクト マップへの DIV の追加

次の単純なオブジェクト マップの email フィールドと login フィールドをまとめる DIV 要素を追加することを考えます。
demo_borland_com                               //BrowserApplication
  BrowserWindow                                         //BrowserWindow
    login-form email                                    //INPUT[@id='login-form:email']
    login-form login                                    //INPUT[@id='login-form:login']

新たに DIV loginArea を追加することにより、オブジェクト マップの構造を変更できますが、オブジェクト マップは、記録中にオブジェクト マップ識別子は正しく再利用することができます。

demo_borland_com                               //BrowserApplication
  BrowserWindow                                         //BrowserWindow
    loginArea                                           //'DIV[@id='login']
      login-form email                                  //INPUT[@id='login-form:email']
      login-form login                                  //INPUT[@id='login-form:login']