Working with the AX CUIT Extension
This set of pages describes the way that the AX CUIT Extension is organized, and how someone might make modifications or fix existing bugs.
- Introduction: This page gives an overview of the design decisions and general system which the AX extension uses and creates. The core pages go into more detail about each subject.
- Core: These pages go into more detail about the central organization of the way the AX extension interacts with the CUIT system.
- AXExtension and AXActionFilter: These interact directly with the CUIT extension framework, largely deferring to the following.
- Filter and FilterGroup: These provide an abstraction for a large number of small filters making largely orthogonal changes.
- Utilities: The utility classes AXUtiles and UITechnologyRedirect are used to extend the functionality of the CUIT extension framework.
- Guides: These are guides to making changes to the AX CUIT Extension.
- Creating a simple test: An example of how to create a coded UI test.
- Creating a hello world filter: Shows a tiny example of creating a filter. This example exists more to demonstrate the workflow around creating a filter, rather than the filter itself.
- Creating a complex filter: Contains both some general concepts related to making new filters as well as a thorough walkthrough of the creation of the NavigationPaneFilter. This example explains the internals of a filter more in detail.
- Navigating using UITechnologyElements: Discusses the methods and caveats involved with navigation through the UI in the extension.
- Filters: These are filters already created for the AX CUIT Extension, in order of decreasing approximate simplicity.
- RemoveRedundancyFilter: Removes actions that pass through which aren't relevant to AX recording.
- TracerFilter: Traces the basics of every action that passes through it.
- GridFilter: Changes the way cells are identified to be more consistent.
- DropdownLookupFilter: Makes lookups in grids much faster and more reliable by replacing clicks with typing actions.
- DropdownUncachingFilter: Ensures that dropdowns aren't cached, as all dropdowns are the same ui element for efficiency.
- WindowTitleFilter: Changes window title identification to avoid numbers and parentheticals.
- NavigationPaneFilter: Makes it possible and more efficient to navigate using the navigation pane on the left of the AX interface.
- SegmentedEntryFilter: Adds support for segmented entry controls.