スクリプトでの変数の使用

任意の Silk Test Workbench コマンド内で二重引用符で囲まれている値(文字列)は、変数の値によって置き換えることができます。 通常、これは文字列変数です。 ただし、フィールドへの値の入力時に IntegerDouble などの他のデータ型に対して変数を使用できます。

変数の最も一般的な使用法は、エディット ボックスなどのコントロールへの入力として使用されるリテラル値を置き換えることです。 コントロールにデータを入力する任意のメソッド、たとえば SetText()TypeKeys() は、リテラル値を変数で置換できます。 そのためには、変数を宣言し、値を割り当てて、リテラル値を変数で置き換えます。 例:

browser.DomTextField("@id='name-search:lastName'").SetText("Smith")

'becomes:

Dim lastName = "Smith"

.DomTextField("@id='name-search:lastName'").SetText(sLastName)

リストやメニューから項目を選択する場合、入力選択で変数を使用することもできます。 例:

browser.DomListBox("@id='quick-link:jump-menu'").Select("Agent Lookup")

'becomes:

Dim selection = "Auto Quote"

browser.DomListBox("@id='quick-link:jump-menu'").Select(sSelection)

メソッドまたはプロパティから返された値を、評価のために変数に入れることができます。 この場合の一般的な使用法は、条件ロジックでの評価に対しブール データ型の値を戻すものです。 以下のコードでは、AllowsMultiSelect プロパティによって戻されたブール型の値を使用して、リスト ボックス コントロールで複数の項目を選択できるかどうかを評価する方法を示しています。

Dim canMultiSelect As Boolean

' Returns true if the second list box in the window allows multiple selections

canMultiSelect = mainWindow.ListBox("[2]").AllowsMultiSelect

If canMultiSelect Then

    MsgBox ("Employee selection list box allows to select multiple employees.")

Else

    MsgBox ("Employee selection list box allows to only select one employees.")

EndIf

変数は、コントロールの生のアタッチ名で置き換えることができます。 文字列連結文字 & を使用します。 例:

browser.DomLink("@caption='Eye'").Select()

'could also read:

Dim sLink As String

sLink = "Eye"

browser.DomLink("@caption=" & sLink).Select()
ヒント: Silk Test Workbench では、GUI マップ、またはコントロールやウィンドウにおける多様性に対処するために、ワイルドカード文字もサポートしています。

スクリプト内のパラメータはビジュアル テストと共有できるため、テスト ソリューション全体にわたって同じデータを使用できます。 詳細については、「スクリプトとビジュアル テスト間でのデータの受け渡し」を参照してください。