cancel
Showing results for 
Search instead for 
Did you mean: 

Disable WPF Performance enhancement to fully enable UI Automation

AndrewWelham
Level 2
We are trying to automation a process by using Robotic process automation, and are having issues seeing some of the entries inside a Silverlight OOB application. On the page www.wpftutorial.net/UIAutomation.html There is the sentence €œWPF intentionally hides TextBlocks that are inside a DataTemplate to improve performance. To make them visible, you have to replace them by a Label which can be a performance hit, or you make a special UiAutomationTextBlock that overrides this behaviour: €œ This is fine if you have access to the source to recompile. However if you are trying to use UI automation on a product where you don€™t have the source. Is there another way of achieving this, potentially by disabling the performance enhancement feature? Admittedly it may cause performance issues but should allow automation technology to function. Many thanks Andrew
2 REPLIES 2

Denis__Dennehy
Level 15
Have you seen this knowledgebase article: https://blueprism.knowledgeowl.com/help/can-you-integrate-with-silverli… As you mention, apart from these periphery settings - the reality with silverlight (as it is to some extent with most applications) is you are totally at the mercy of the application developer creating an accessible application - if they have not done so there is nothing you can do retrospectively to make it accessible. If your silverlight application is not accessible Surface Automation techniques are your only option (something a lot easer to implement robustly in version 6 of Blue Prism), and even then the article mentions that Silverlight may force the Cleartype setting to be turned on which would force only Clipboard and OCR as text reading methods.

AndrewWelham
Level 2
Denis, Yes I have seen that article, very useful it was too. However it’s only for browser based Silverlight. One of the apps we are trying is an OOB (Out Of Browser) app. We can see some of the buttons and some of the text , but some areas do not spy. We have had to rely on surface automation which in our experience is slow to the point of making the automation unusable. It’s an interesting point you make about V6 (I did not know that) , we have a copy for testing before go live, so will try on that. Is there I document anywhere with the improvements in this area.