Testing Apache Flex Custom Controls

Silk4J supports testing Apache Flex custom controls. However, by default, Silk4J cannot record and playback the individual sub-controls of the custom control.

For testing custom controls, the following options exist:
  • Basic support

    With basic support, you use dynamic invoke to interact with the custom control during replay. Use this low-effort approach when you want to access properties and methods of the custom control in the test application that Silk4J does not expose. The developer of the custom control can also add methods and properties to the custom control specifically for making the control easier to test. A user can then call those methods or properties using the dynamic invoke feature.

    The advantages of basic support include:
    • Dynamic invoke requires no code changes in the test application.
    • Using dynamic invoke is sufficient for most testing needs.
    The disadvantages of basic support include:
    • No specific class name is included in the locator, for example Silk4J records //FlexBox rather than //FlexSpinner.
    • Only limited recording support.
    • Silk4J cannot replay events.

    For more details about dynamic invoke, including an example, see Dynamically Invoking Apache Flex Methods.

  • Advanced support
    With advanced support, you create specific automation support for the custom control. This additional automation support provides recording support and more powerful play-back support. The advantages of advanced support include:
    • High-level recording and playback support, including the recording and replaying of events.
    • Silk4J treats the custom control exactly the same as any other built-in Apache Flex control.
    • Seamless integration into Silk4J API
    • Silk4J uses the specific class name in the locator, for example Silk4J records //FlexSpinner.
    The disadvantages of advanced support include:
    • Implementation effort is required. The test application must be modified and the Open Agent must be extended.