ユーザーが Silk4J で Flex アプリケーションの新しいテストを記録すると、以下のイベントが発生します。
-
Silk4J によって Silk Test Agent が呼び出されて、記録が開始されます。Agent は、このコマンドを FlexTechDomain インスタンスに転送します。
- FlexTechDomain は、beginRecording() を呼び出すことによって、AutomationManager に対して記録の開始を通知します。AutomationManager は、SystemManager からの AutomationRecordEvent.RECORD イベントに対するリスナーを追加します。
- ユーザーがアプリケーションを操作します。たとえば、ユーザーが Button コントロールをクリックしたとします。
- ButtonDelegate.clickEventHandler() メソッドによって、プロパティとしてクリック イベントと Button のインスタンスが指定された AutomationRecordEvent イベントがディスパッチされます。
- AutomationManager は、XML 環境情報に基づいて、クリック イベントのどのプロパティを格納するかを決定します。値が適切な型または書式に変換されます。記録イベントがディスパッチされます。
- FlexTechDomain イベント ハンドラがイベントを受信します。AutomationManager.createID() メソッドが呼び出されて、ボタンの AutomationID オブジェクトが作成されます。このオブジェクトは、オブジェクト識別用の構造体を提供します。AutomationID 構造体は、AutomationIDParts の配列になっています。AutomationIDParts
は、IAutomationObject を使用して作成されます。(Button コントロールの UIComponent.id、automationName、automationValue、childIndex、および label プロパティが読み込まれて、オブジェクトに格納されます。XML
情報に、label プロパティを Button の識別に使用できることが指定されているため、label プロパティが使用されます。)
- FlexTechDomain は、AutomationManager.getParent() メソッドを使用して、Button の論理的な親を取得します。アプリケーション レベルまでの各レベルで、親コントロールの AutomationIDParts オブジェクトが収集されます。
- すべての AutomationIDParts が AutomationID オブジェクトの一部として組み込まれます。
- FlexTechDomain は、Silk4J への呼び出しでこの情報を送信します。
- ユーザーが記録を停止すると、FlexTechDomain.endRecording() メソッドが呼び出されます。