スクリプトの構文

記録されたスクリプトの行の構文を理解すると、スクリプトが読みやすくなります。 オブジェクトをテストするコマンドは、同一の構文要素で構成されています。 構文要素には、アプリケーション ウィンドウ (アプリケーションのメイン ウィンドウやダイアログ ボックスなど) のための With ステートメントに続き、クラス、属性、操作を識別するロケーターまたはオブジェクト マップ項目が含まれます。

オブジェクト マップの使用

オブジェクト マップはテスト資産の一種であり、コントロールまたはウィンドウのロケーターではなく、コントロールまたはウィンドウに論理名 (エイリアス) を関連付ける項目が含まれています。

Silk Test Workbench では、スクリプトを記録すると、デフォルトで、スクリプト コンテキストにオブジェクト マップ項目が組み込まれます。

以下の例は、Web アプリケーションをテストするスクリプトで記録される一般的な操作を示しています。
With _desktop.BrowserApplication("webBrowser")
  With .BrowserWindow("browserWindow")
    .DomListBox("quickLinkJumpMenu").Select("Auto Quote")
  End With
End With

With_ desktop.<application> の部分は、メイン アプリケーション ウィンドウを示しています。

上記の例の DomListBox の部分は、使用するクラスを示しています。

("quickLinkJumpMenu") の部分は、オブジェクトの属性を示しています。 この場合、属性はリスト ボックスのリンク メニューを示しています。 一方、Select() の部分は、オブジェクトに対して実行する操作またはコマンドを示しています。

最初の With コマンドが定義されたら、そのウィンドウに対する追加の呼び出しでコマンドを繰り返す必要はありません。 テストする追加の各ウィンドウに対して、With ステートメントを指定する必要があります。 たとえば、以下のコードは、同じスクリプト内から複数のウィンドウを呼び出す方法を示しています。
With _desktop.Window("untitledNotepad")
  .MenuItem("aboutNotepad").Select()
    With .Dialog("aboutNotepadDialog")
      .PushButton("ok").Select()
    End With
End With

オブジェクト マップ項目はかっこと引用符 ("") で囲まれ、ロケーターのキャプションを使用する必要がなくなります。

ロケーターの使用

Silk Test Workbench では、識別されたオブジェクトのリテラル参照はロケーターと呼ばれます。 Silk Test Workbench では、スクリプトを記録すると、デフォルトで、スクリプト コンテキストにオブジェクト マップ項目が組み込まれます。 オブジェクト マップをオフにすると、スクリプトの記録時に、オブジェクト マップ項目ではなくスクリプト コンテキストにロケーターが含まれます。

以下の例は、Web アプリケーションをテストするスクリプトで記録される一般的な操作を示しています。
With _desktop.BrowserWindow("/BrowserApplication[1]//BrowserWindow")
  .DomLink("@textContents='Court: Gender pay lawsuit can go to trial'").Select()
End With

With_ desktop.<application> の部分は、メイン アプリケーション ウィンドウを示しています。

最初の例の DomLink の部分と 2 番めの例の MenuItem の部分は、使用するクラスを示しています。

("@textContents='Court: Gender pay lawsuit can go to trial'") の部分は、オブジェクトの属性を示しています。 この場合、属性はテキスト コンテンツを示しています。 一方、Select() の部分は、オブジェクトに対して実行する操作またはコマンドを示しています。

最初の With コマンドが定義されたら、そのウィンドウに対する追加のロケーター文字列でコマンドを繰り返す必要はありません。 テストする追加の各ウィンドウに対して、With ステートメントを指定する必要があります。 たとえば、以下のコードは、同じスクリプト内から複数のウィンドウを呼び出す方法を示しています。
With _desktop.Window("@caption='Untitled - Notepad'")
  .MenuItem("@caption='About Notepad'").Select()
    With .Dialog("@caption='About Notepad'")
      .PushButton("@caption='OK'").Select()
    End With
End With

caption 属性は、テストするオブジェクトを示しています。 caption は、アプリケーションのメイン ウィンドウ ("@caption='Untitled - Notepad'") に続き、メニュー項目 ("@caption='About Notepad'")、後続のダイアログ ボックス ("@caption='About Notepad'")、クリックするボタン ("@caption='OK'") を示しています。