親スクリプトと子スクリプト間で、または単一のスクリプトを使用して、パラメータを作成して渡すことができます。親子シナリオを使用することには、複数の子スクリプトで親スクリプトを使用できるという利点があります。たとえば、親スクリプトによって乱数が作成される場合に、その機能を複数の子スクリプトで使用することがあります。
たとえば、スクリプトに「NameParameters」という名前を付けることができます。
Public Sub Main() Dim args As New Dictionary(Of String, Object) args("FName") = "Chris" args("LName") = "Smith"
Public Module Main Dim _desktop As Desktop = Agent.Desktop Public Sub Main() Dim args As New Dictionary(Of String, Object) args("FName") = "Chris" args("LName") = "Smith" Workbench.RunScript("childscript", args) End Sub End Module
MsgBox("Hello, " + args("FName") + "!") MsgBox ("Hello, " + args("FName") + " " + args("LName") + "!")スクリプトの再生時に、テストで入力される値を示すメッセージ ボックスが表示されます。
Imports SilkTest.Ntf.XBrowser Public Module Main Dim _desktop As Desktop = Agent.Desktop Public Sub Main() With _desktop.BrowserWindow("/BrowserApplication[1]//BrowserWindow") .DomButton("@id='login-form:signup'").Select() .DomTextField("@id='signup:fname'").SetText("first") .DomTextField("@id='signup:lname'").SetText("last") .DomElement("@src='http://extjs.com/s.gif'").DomClick(MouseButton.Left, New Point(8, 16)) .DomButton("@textContents='Today'").Select() .DomTextField("@id='signup:email'").SetText("test@test1.com") .DomTextField("@id='signup:street'").SetText("123 street rd") .DomTextField("@id='signup:city'").SetText("Marlton") .DomListBox("@id='signup:state'").Select("Massachusetts") .DomTextField("@id='signup:zip'").SetText("09876") .DomTextField("@id='signup:password'").SetText("test") .DomButton("@id='signup:signup'").Select() .DomButton("@id='signup:continue'").Select() End With End Sub End Module
Public Sub Main(args As IDictionary(Of String, Object))
.DomTextField("@id='signup:fname'").SetText("first") .DomTextField("@id='signup:lname'").SetText("last")
.DomTextField("@id='signup:fname'").SetText(args("FName")) .DomTextField("@id='signup:lname'").SetText(args("LName"))