Questions tagged [microsoft-ui-automation]

The Microsoft UI Automation (UIA) framework provides programmatic access to most user interface elements on Win32, WinForms, and WPF applications. It is primarily used for the purposes of automated UI testing and accessibility assistance.

The Microsoft UI Automation (UIA) framework provides programmatic access to most user interface elements on Win32, WinForms, and WPF applications. It is primarily used for the purposes of automated UI testing and accessibility assistance.

The UI Automation Framework was introduced in .NET 3.0 with two APIs. A client API which provides a means for obtaining information about UI elements and interacting with them, and a provider API which contains interfaces which developers can implement to enable interaction with non-standard UI elements in their applications.

The UIA framework exposes every UI component as an AutomationElement object. These objects comprise a tree structure wherein the Windows desktop is the root element. Navigation of this tree is primarily accomplished with the client API's TreeWalker object.

Each AutomationElement exposes a set of control patterns which define the way clients can interact them. For example, if the element defines a ValuePattern, a client can get this pattern and store it in a ValuePattern object, and use that objects getValue and setValue methods to access the UI element's value (the text in a textbox for instance).

Originally just available to managed .NET projects, the UIA 3.0 update released alongside Windows 7 introduced a native COM library which boasts improved compatibility, stability, and speed. UIA 3.0 is also available as a separate hotfix KB971513 for Vista and XP SP3.

More Information:

325 questions
0
votes
0 answers

Use UIA to get notified when a button is available in an external WPF app

I'm working on a small app that uses UI Automation and sits atop a third party app to intercept certain events and inject and extract values into/from input fields. The other app seems to be using a ContentControl in WPF to show all the different…
Adam Plocher
  • 13,994
  • 6
  • 46
  • 79
0
votes
0 answers

How to get ALL the text from a screen display?

I have been struggling to get ALL the text from a screen display. My application tries to do some automation such as: Wait for some text to show up or vanish in the screen display. Move mouse to some text. So I need to find all the texts in…
0
votes
0 answers

UI performance penalty when using UIAutomation

I am using UIAutomation and precisely UIAComWrapper from UI Automation COM-to-.NET Adapter. I am trying to scrape the contents of the target Window and it works but I noticed a problem. When I access the target window the screen refreshing on the…
Patrik
  • 1,286
  • 1
  • 31
  • 64
0
votes
2 answers

Some 3rd party controls are not always accessable in UI Automation

I am using Ranorex to do automation tests against our application, which consists of several 3rd party controls, like the DevExpress GridControl. In most cases the grid rows are accessible. However, it can happen that the grid rows are not…
0
votes
2 answers

WPF Automation Testing without Automation Framework?

This is probably a bit crazy/nuts, but is there any way to perform WPF Automation Testing without using the MS Automation Peer framework? There are several times when I actually need the UIElement/FrameworkElement and would like to access that…
Locke
  • 1,133
  • 11
  • 32
0
votes
1 answer

Reading text with UI Automation

I'm trying to make a simple program that will monitor the chat window of an app and play a sound when a certain string appears. Firstly how would I go about finding the right element? Using 'Inspect.exe', the only thing I can see that is unique…
Jynn
  • 287
  • 1
  • 3
  • 18
0
votes
1 answer

How to check if a form is fully loaded?

I have forms that contain controls in my application under test. These controls load data in their own threads. I would like to add a block until the form is fully loaded. How is this done?
JL.
  • 78,954
  • 126
  • 311
  • 459
0
votes
1 answer

Finding a VB6 control using TestStack.White

I'm using TestStack.White to read the list from an old app written in VB6. I'm able to find the reference to the list but TestStack.White doesn't see the values in the list. When I use Spy++ or Visual UI Automation Verify the pane with IDs 15, 14,…
Kathy Judd
  • 715
  • 3
  • 9
  • 21
0
votes
0 answers

UI Automation Error: An outgoing call cannot be made since the application is dispatching an input-synchronous call

I am trying to automate UI navigation for an application which itself makes calls to the coms. When I automate the click (which runs a search to see which devices are online), I get the following popup error: An outgoing call cannot be made since…
Dee Dee
  • 1
  • 3
0
votes
1 answer

Chrome .Net Ui Automation - Automatic Sign on to Browser - AutomationElement Invoke appears to invoke with no result

I would like to automatically sign into Chrome on Windows, the Selenium part is done but now there is a Window that needs to be automated. The invocation of the Link data push button. It appears I find the right element with my code and it does…
0
votes
0 answers

UI Automation does not find tabPage inside a Tab Control when property Text is provided

I've simplified this problem as much as I can and the code below can be cut&pasted into a 'test.linq' file and loaded into LinqPad. As it stands running this code in LinqPad will show it working - the intention is to find the pane with AutomationId…
Phil
  • 2,232
  • 1
  • 26
  • 35
0
votes
2 answers

CodedUI test - can't send plain text password into input field

at some point when I send password into the input field on the form, looks like it gets encrypted. Password length is 8, but CodedUI is entering more characters, it's visible during test execution. Any idea, how to pass just string without any…
xmp
  • 104
  • 1
  • 4
0
votes
1 answer

UIAutomation c# textbox disappears with mouse click or losing focus

iam using UIAutomation in visual c # express 2010 i am trying to input so text boxes automatically in UI applicton i have succsuffully selected the window i need to input data in but what happens afer data is entered if i swiched windows or…
0
votes
0 answers

WPF ListView object is sometimes recognized by UIAutomation as DataGrid instead of ListView

We have a ListView object that is used in our application, it's a new class SortableListView : ListView and using the GridView pattern. We have added a custom provider which allows for de-virtualization of rows during automation (so we don't ahve to…
DTreth
  • 87
  • 5
0
votes
1 answer

How can I access the underlying Element of an existing AutomationPeer?

Ive recently started to learn/use the AutomationPeer class and how to override its features. One question that I have, is if there is anyway to Extract the UIElement that was passed passed in during the initializing of the AutomationPeer. An…