AXActionFilter and AXExtension
AXExtension
This is the extension that the running CUIT recorder and playback interface with. It both provides the actual
AXActionFilter and the name and description of the extension.
AXActionFilter
This defers filtering requested by the CUIT recording system to
Filter systems.
static AXActionFilter()
{
// Order does matter, so be careful about
// where you put new filters.
group = new FilterGroup(
new RemoveRedundancyFilter(),
//new TracerFilter(),
new SegmentedEntryFilter(),
new DropdownLookupFilter(),
new NavigationPaneFilter(),
new GridFilter(),
new DropdownUncachingFilter(),
new WindowTitleFilter());
}
This section of code initializes the
FilterGroup. This prescribes the order of execution of the filters, as well as which ones are run. When making a new filter, make sure to have some understanding of the other filters, so that you can more easily decide where to put it. Almost any filter will go after the
RemoveRedundancyFilter, for instance.
public override bool ProcessRule(IUITestActionStack actionStack)
{
group.Run(actionStack);
return false;
}
This actually runs the initialized
FilterGroup, whenever the CUIT Extension system tells the
AXActionFilter that an action has been added to the actions stack.