Progress® Telerik® UI for Silverlight, a pioneer in components development, transcends the field of Silverlight test automation. Used extensively by our own product teams in perfecting our UI components, Test Studio is the first solution on the market to deliver support for Silverlight UI automation.
Problem
You benefit from Data Virtualization by only having the UI Elements visible on screen, generated/taking up memory. These methods bring reliability issues for your tests. The index of a target item in the app changes depending on the scrolling of that list. This makes it difficult to execute the recorded verification against it.
Solution
Telerik automated testing tools offer special support for virtualized controls where the Visual Tree only contains a certain amount of child items at any point in time. Our recorder detects virtualized lists and captures extra data in terms of the location of the virtualized list item. Then, on playback, the execution engine helps ensure the target list item is in the virtualized list, and in the correct order, before attempting to execute the action on it.
Automating Pop-ups has always been a challenge for most automated testing tools. In Silverlight, it is even more complicated because the pop-up controls are not part of the main Visual Tree. Each control has its own Visual Tree which is not accessible from the main application tree.
Test Studio recording surface enables users to detect Silverlight pop-ups and ChildWindows and connect to them. You can highlight elements within these pop-ups, and record verifications against them, as well as navigate their Visual Trees in the DOM Explorer.
Silverlight applications tend to be feature-rich in graphical experience, interactivity and transition effects. While this is one of the main reasons users choose Silverlight for line-of-business applications, the latter also gives testers difficulty automating them: numerous UI widgets tend to fly-in, scroll up or expand.
Test Studio execution engine not only waits for an element to be visible, it also waits for the item to stop its animations. The tool automatically detects if the element is in view, and if not, scrolls to make it visible. Only then, is the action performed.
When building real line-of-business applications, developers sometimes need to extend the components they are using to build their applications. This results in a new element type in the application’s Visual Tree, which fails to identify the base control.
When Test Studio detects a custom control on the surface, it automatically detects the base class that the control inherits and shows the quick tasks for that base control. This gives customers with applications heavily utilizing custom controls a richer out-of-box experience. If you need to automate an application built with Telerik Silverlight controls, Test Studio instantly detects them and suggests specific verifications, even for complex data and navigation components.
The Silverlight platform is extremely powerful and complex, which constitutes one of the major obstacles when it comes to test automation. Unlike HTML with a limited number of elements, the object hierarchy in Silverlight might get quite complicated. This makes it difficult for the user to understand the parent/child relationship of the elements in the application.
The Test Studio recording surface offers multi-layer highlighting, which enables users to see the original targeted node and all the ones in the hierarchy. These represent the different object layers - users can choose the selection box of the element they target for automation. The exposed verifications will be specific to that part of the object. The tool dynamically pulls value for each specific part thus allowing real time verifications.
The automation of Silverlight applications through Microsoft UIAutomation or any coded framework involves adopting considerable scripting skills and knowledge. This means the learning curve for testers is steep when it comes to automating Silverlight applications. The result is a slower development cycle, higher maintenance cost and lower ROI on testing.
Test Studio enables users to automate tests without having to revert to code in most scenarios. Such an approach not only simplifies test automation, but also makes test maintenance much easier. Recording Silverlight tests doesn’t differ from recording any HTML/AJAX app – no need to learn new technologies to be able to automate it.