This project is read-only.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Last edited Jul 29, 2014 at 5:10 PM by wgoodin, version 3