Is it possible to create a Windows application to capture all event details (control type,event type,window etc) triggered from different types of applications (winform, wpf, silverlight, etc)
I tried the "record" tool in "white framework".
http://white.codeplex.com/wikipage?title=Recorder&referringTitle=Home
But this tool is not detecting every events in my application.Iam looking for developing similar kind of application.
If it is possible please give some guidance.I need this for automating the testing of some applications. Thanks.
It depends on the application you want to automate. If it's Win32, WinForms or WPF you might look at Windows UI Automation.
Also it depends on what kind of events your are talking about. Which event is missing from the White recording tool?
Update: The best Tool to see/discover the kind of UI Automation events you can record from a third party application is Inspect.exe (formerly called UISpy.exe).
In there you can record actions/events and browse through the element tree with all available properties. My experience is: if you can't see it there, you can't automate it with UI Automation.
Related
We have a application having the object "SPR32X60_SpreadSheet". The object content are not available in inspect.exe.
How can i get and take action on the content of SPR32X60_SpreadSheet grids using UIAutomation/IAccessibility/Win32API.
Any help will be appreciated.
Thanks
Preeti
Not all UI elements support UI Automation. For example, custom SuperGrid doesn't support UI Automation.
Generally, most Win32 controls support UI Automation. Refer to Supporting UI Automation Control Types for more detailed information.
To interact with an UI control that not support UI Automation, simulating mouse/keyboard input is a possible workaround. Refer to SendInput.
I have a potential requirement of modifying the Windows 10 Start Menu structure. I know that you can customize the groups and tiles: https://blogs.technet.microsoft.com/deploymentguys/2016/03/07/windows-10-start-layout-customization/
My question is if there is any possible way (through API or any other option) that allows to, instead of only pinning windows desktop applications, display your custom code.
Example: we have a group called My work which pins windows applications, but we also have a group called Discover which displays custom code, not windows 10 apps.
I think it is not achievable, but want to give it a try and ask the community. Thanks a lot in advance!
Modify start menu should not be a feature of common UWP development. The start menu should only be controlled by customer themselves. So it's not possible for you to think about develop this kind of feature.
And as you've already see that OEM can modify OEM group. Actually you can find related info from here.
With selenium, we can get/change/add html elements from/to a web page.
But what about win32 based applications?
All the ui automation tools allow you to get elements of windows and verify the content. And they can also simulate mouse and keyboard events.
But are there any ui automation tools that allow you to change/add elements to a window?
Or are there any other tools/APIs available for that purpose?
Given an arbitrary Win32 application, of course not. The question assumes that the UI framework for the app supports runtime modification, and most don't. (That even assumes that the app actually has a UI framework.)
There are many commercial tools for non web applications. Open source examples would be AutoIt, Twin, Sikuli..........
I need a treeview in .net with supported multi selection.
A own implementation in wpf or winforms ( this two don't have multi selection out of the box !? ) is a no go, i need the multi selection visible in the ms ui automation framework.
Do anyone know if this is possible with the win32 treeview ? Or know a way how to implement multiselection in wpf / winforms which is also visible in the automation framework ?
Technically, even the awesome Infragistics controls are visible to the UI automation framework, but I think you need to use the 'core classes' with the legacy msaa pattern (that is what I do with Infragistics and Ui Automation).
As far as something more friendly and free, I'd suggest trying this:
http://www.codeproject.com/Articles/20581/Multiselect-Treeview-Implementation
I use it and have been very happy with it. I don't actually automate it, but use it elsewhere. I would think that it is UI Automation friendly, though, based on looking at the code a bit.
We need to automate GUI testing of an application developed in Win32 API. Developer's have created this application by custom painted controls. They have controls which look like Grid, Buttons etc., but they are not basic Windows controls.
What is custom painted controls? and how we can test these controls?
Test it just like any other UI: Not at all. Move all code out of the callbacks into the application layer where your unit tests can execute them just like any other method.
Rationale: There is little point in testing whether "button.activate()" works; you want to know whether the your code behind the button callback works.
If you need to know whether the correct dialogs, etc., are opened, see my blog: Testing the Impossible: User Dialogs
Have the developers added support for accessibility using IAccessible? If they have, you can use active accessibility to navigate through the controls and test them that way.
If they haven't, open a bug that says that their controls can't be use by disabled people (who need a screen reader or other accessibility aid).
Once they fix that bug, you can use whatever mechanism they added to their controls to allow them to be used by screen readers and other accessibility aids to test their UI.