動的呼び出しを使用すると、テスト対象アプリケーション内のコントロールの実際のインスタンスに関して、メソッドの呼び出し、プロパティーの取得、またはプロパティーの設定を直接実行できます。また、このコントロールの Silk Test Workbench API で使用できないメソッドおよびプロパティーも呼び出すことができます。動的呼び出しは、作業しているカスタム コントロールを操作するために必要な機能が、Silk Test Workbench API を通して公開されていない場合に特に便利です。
オブジェクトの動的メソッドは Invoke メソッドを使用して呼び出します。コントロールでサポートされている動的メソッドのリストを取得するには、GetDynamicMethodList メソッドを使用します。
オブジェクトの複数の動的メソッドは InvokeMethods メソッドを使用して呼び出します。コントロールでサポートされている動的メソッドのリストを取得するには、GetDynamicMethodList メソッドを使用します。
動的プロパティの取得には GetProperty メソッドを、動的プロパティの設定には SetProperty メソッドを使用します。コントロールでサポートされている動的プロパティのリストを取得するには、GetPropertyList メソッドを使用します。
control.Invoke("SetTitle", "my new title")
Silk Test Workbench 型には、プリミティブ型 (boolean、int、string など)、リスト、およびその他の型 (Point や Rect など) が含まれます。
UI コントロールは、TestObject として渡したり、返したりできます。
以下の VB .NET スクリプトの例では、SAP メソッドを動的に呼び出す方法を示します。
Dim _desktop As Desktop = Agent.Desktop Dim wnd As SapWindow = _desktop.SapWindow("wnd 0") Dim result As Object result = wnd.Invoke("IsVKeyAllowed", 8) ' boolean return value Console.WriteLine( "invoke result='" & result & "' type=" & result.GetType().ToString()) wnd.Invoke("ShowMessageBox", "A Title", "Some text...", 1, 1)