The new major release of WebUI Test Studio is coming next week. Let me share what's new with this release in advance and ask for you feedback. Note you can also subscribe to the blogs where we share some useful info and news as well!
On behalf of the WebUI Test Studio team.
[2010 Q2 Highlights]
· Silverlight Out-Of-Browser Recording:
You can now record your Silverlight desktop application that run out of browser. You can also configure the same test to run against the same application in and out of the browser.
· Silverlight ChildWindow & Popup Recording:
We enhanced our record/playback capability to allow our recording surface to detect Silverlight pop-ups and ChildWindows and connect to them. You can now highlight elements within these popups and navigate their visual trees in our DOM Explorer too. More details here.
· Enhanced Silverlight Recording Experience:
We’ve added specialized support to detect VirtualizedPanels so you can reliably playback your tests whether your lists are virtualized or not. We also added Right-Click recording support for Silverlight and virtualized key recording like holding the shift key while clicking or dragging.
· Continue recording from a specific step:
This feature vastly enhances the testers productivity by giving them a one click solution to get their recorder in the exact state they want it to continue recording and editing a test. Right-click on a step in the test explorer and select “Run To Here” and the recorder will launch and run your test to that step and then activate the recording so you can continue exactly from where you left off.
· Connect to an existing browser instance:
In addition to launching a new browser instance to start recording, you can now connect to already launched instance of your browser. The UI now gives you a list of all active browsers on your machine and allows you to connect to any of them. You can even have multiple browser instances as recorders so you can switch back and forth between them.
· Image Verification:
A new way to build verifications based on an element’s visual rendering rather the properties or attributes of that element. Applications with rich graphic rendering can leverage this feature to automate some of their test scenarios that have always needed manual visual inspection to verify. The image verification in Web UI Test Studio unlike other tools, allows you to refine your verification area down to the pixel level within an element and also assign error tolerance for the matching. More details here.
· Export you test as an Html Test Plan:
Export your storyboard images and step descriptions as an HTML test plan. This feature can also be used as a product documentation tool by leveraging the automation test scenarios for accurate documentation of business requirements.
· Enhanced Win32 Dialog Handling & Recording:
We re-vamped our dialog recording and handling in WebUI Test Studio. All our dialog recordings are localized to work with different OS languages. We also added an execution setting to allow customers to configure a default behavior for handling un expected dialogs.
· Add Manual Steps to your test:
If for some reason, a certain step can’t be automated and you wish to run it manually, simply add a “Manual Step” to your test. During execution we will prompt you to run that step and let you manually pass/fail that step while adding your own comments to the log.
[Common -- WebAii]
· DataGrid controls: Adds DataGridRow and DataGridCell; Improves performance adding DataGrid.Rows and .Cells caching.
· Adds DataGrid.RowContainer, ColumnHeaderContainer and ColumnHeaders properties.
· TabControl: adds TabItems, TabItemContainer properties and SelectTab method.
· Adds VirtualizingStackPanel control wrapper.
· Adds ComboBox.SelectByText method.
· PopupTracker integration with RadControls (Silverlight): use the PopupTracker built in to Telerik's Silverlight controls if available. That helps automating RadControls popups out of the box (Silverlight RadContextMenu).
· Fixed failure to handle Silverlight app changes that preserve the visual tree structure.
· Fixed a scenario with unreliable automation of a complex Silverlight tree.
· Fixed accessing nonexistent Silverlight automation property gives useless error message.
· Fixed HTML Ordered List child node parsing problem.
· Fixed image capturing by HtmlControl has few pixels off (When element is half scrolled we capture portion of the status bar).
· Fixed incorrect return/recording of empty text box Text property/verification.
· Fixed errors parsing HTML pages with bad attributes.
· Fixed find frame by name regression.
· Image Verification: WebAii exposes an API to compare images for a specific element on the page. You can also refine the selection to a specific area and specific error tolerance.
· Adds dialog handling settings API.
· Adds Window.GetText() method that returns the text content of that window (including is sub windows). Good for checking if some text is contained on that window.
· Adds Element.GetTextContentRecursive(params string tags) method.
· Keyboard and Desktop.Mouse methods ensure the browser is currently in use otherwise blink its icon in the taskbar.
· Fixes regression in VisualFind.ByExpression().
· Fixed NullReference thrown for download dialog Cancel action handling.
· Fixes bug in Firefox download dialog handler for cancel option; cleans up warnings in Firefox download dialog handler.
· Fixed having only a password entered in Logon Handler may cause test to repeat until test exe killed.
· Fixes Desktop (Mouse/Keyboard) actions NullReference in EnsureBrowserOnFocusIfPossible() method.
[Common -- TestStudio only]
· Adds the ability to record and playback SL Out-of-Browser applications.
· Adds right clicks SL4 recording.
· Adds virtualized ListBox support.
· Adds DataGrid Translators with the following built-in verifications:
o DataGrid: Row and ColumnHeader count.
o DataGridRow: Cell count and Index.
o DataGridCell: Text and Index.
· ComboBox: OpenDropDown action supports SimulateRealUser="false".
· ComboBox: Adds select by text recording ability.
· Improvements to Silverlight action steps property grid metadata.
· Fixed a failure to detect Silverlight app in Test as Step scenarios.
· Fixed incorrect propagating of KeyDown/KeyUp events to Silverlight controls on recording.
· Fixes an issue with recording clicks on pages with multiple Silverlight applications.
· Fix for a recording scenario in Silverlight where the host page had invalid HTML.
· Increased Silverlight text typing delay for better automation reliability.
· Fixed RecycleBrowser breaking Silverlight tests for mixed HTML / Silverlight test lists.
· Avoid bad element shadows for Silverlight app nodes in Elements Explorer.
· Fixed code generation failure to verify string properties on custom Silverlight objects.
· Fixed poor responsiveness when recording typing in a windowless Silverlight app.
· ListBox translator consolidates select actions.
· Adds Check settings for default select mode for ListBox select action.
· Fixed DropDown select action doesn't use the default ByValue selection mode when there's no value set for the drop-down option.
· Fixed failure to record a text typing in a HTML popup.
· Fixed IE crash on recording for specific HTML scenario.
· Fixed recorder communication error with HTML table verification.
· Adds "Comment" Steps and "Manual Steps" options.
· Fixed exception in TestExplorer after clicking "Move step up" rapidly trying to move it from 15 to 1.
· Fixed deleting a step moves selection down one too many.
· Fixes incorrect test result test data leaving the TestExplorer without result in a test as step data bound execution scenario.
· Fixed TestExplorer copy/paste step twice creates a grayed-out image in the storyboard.
· Adds Export button: allows exporting the test as an HTML page including all the images.
· Fixes Storyboard empty on project load.
· Fixed Carousel cannot find the last step in case of tests with many steps.
· Fixes Build Verification results in black image.
· Fixed locating elements in sub frames on first launch of the DOM failure.
· "Show Element Menu" command always focuses the browser.
Command Line Runner:
· Added help/usage info for the command line runner; improved arguments parsing.
· Gives the user the ability to see the runner console window when an exception occurs.
· Adds CommandLineRunner exit code.
· Adds tracing the CommandLineRunner run failures.
· Adds test execution support for nested tests (TestAsStep scenario) consuming the same data source.
· Adds support for multi data-driving in the same execution context (test as step scenarios).
· Fixed data-driven test as step with failing iteration completes with passed test result.
· Local Data UI: Fixed data typed into local data array not saved unless user clicks outside the data cell.
· Adds QuickTasks multi-selection option.
· Fixed translator highlights stuck to screen for elements in frames.
· Implements edge detection for the nub.
Other New Features/Additions:
· Image Verification: You can now add a verification to compare images for a specific element on the page. You can also refine the selection to a specific area and specific error tolerance.
· Adds record and play back clicks with modifier keys in HTML and Silverlight.
· Activate IE recording from the browser. Creating the ability to connect to a previously launched instance of IE, through our Designer.
· Smart element merge implementation. Elements in the elements explorer are now merged correctly even after editing the FindExpressions. We now do smart element matching before merging.
· StepDebugFailureUI: Adds the Expected along with the Actial image for easy comparison in the Images tab.
· New AddTestAsStep dialog with searching ability.
· Adds Test.BrowserType property users can set to override the Settings.DefaultBrowser. This is helpful in case of test list run where one or some tests can be executed against different browser.
· Logs the failed step number and description in the TestAsStep result.
· Adds more regular updates of the host status during recording.
· User Settings: Fixed Silverlight Connect Timeout ignored.
· Adds dialog monitoring to the RunToStep feature so that it can automatically run dialog handled steps.
· The "Add Project Element" option searches the loaded translators for matchable custom control type (RadControls).
· Fixes can't select Silverlight elements in target element editor.
· Fixes error when find expression includes a ',' character.
· Fixes translator state-related regression opening old tests.
· Fixed repeated prompts to upgrade project when settings file is read-only.
· Fixed issues with recording IE modal dialogs.
· Recorder Translators synchronized with those from the Project Settings.
· Fixed loading custom translators fails within IFrame.
· Fixed URL with doubled slash at the end causing to record against an URL we cannot use to load from ResolutionFailure Debug UI.
· Adds ProjectView.Refresh button to be able to re-add any new tests/test lists/data files added to the project.
· Fixes error if you try to add a test to a deleted folder.
· Better handling of removed or added files on project refresh.
· Fixed check-in dialog displayed too large to fit on screen.
· Fixes selection of non-test item in the ProjectView deselecting the test keeps the Bind Test option enabled.
· Adds RecordView Cut/Copy/Paste buttons in the ribbon bar.
· Fixed TestLists source-control status unsynchronized with the project.
· Fixed TestLists not persisting the manually set Owner.
· Fixed TestListManager.Tests reordering of selected items.
· Persists TestListManager.Tests reordered list.
· Better handling of specifying invalid file name on Add and Update test lists.
· Don't allow adding test list with too long name that cannot create a file from anymore.
· TestListManager test reordering options are enabled for non-filtered GridView data only.
· Fixes DynamicTestList UI bug: The [-] button in the filter rules adds a new filter item instead of removing it.
· Fixed cloning of special named test list (like "aii") generating invalid test list file.
· Run result failure info (DOM, Image) is persisted into separate files on disk. This is a significant improvement in loading run results on project open (affects new run results!).
· Adds ResultsViewer.ReloadFromDisk command and button in the ribbon to pick up the latest results if added manually to the project Results folder.
· Adds DataPager to the test and step result GridView controls.
· ClearSelected command now works with Scheduler appointment multi selection.
· Fixed TestResultsPane to display the correct passed/total data on result change.
· Fixed TestResults Passed/Total count failing sometimes.
· Fixed analyzing result at test steps level navigate forward command incorrect behavior.
· Fixed unexpected 'Unable to change name' error dialog when run result name is not changed leaving the edit mode.
· Fixed duplicating run result scenario.
· Allows generating run result even if we can't store the run failure resources (browser image, DOM) for some reason.
· TimelineHeaderFormat changed to M-dd-yyyy.
· Export results opens win explorer and selects the exported file.
· Adds Record button to be able to get a log on recording. Useful to track specific recording problems.
· Fixes cannot checkout new project from TFS if matching folder does not exist on local HDD
· Fixes opening new project from TFS does not enable Check-in/Check-out.
· Project is loaded on portions. TestLists and RunResults are loaded on demand, e.g. first time the respective tab is clicked or the project is loaded in Dashboard view.
· Fixed assemblies not added to QA project when converting Silverlight click to code.
· User friendly loading of test lists and run results with events invoked in the UI thread.
· Fixed running TestList with RecycleBrowser 'true' leaves the browser open at the end.
· Fixed errors with displayed file names after cut & paste.
· Fixed the incorrect Help how-to videos link.
· The auto-generated Project.cs (.vb) file is now created on compiling the project. There is no need to keep that file checked-in into source control (Continuous Integration) anymore.
· Fixed Project.cs (.vb) file not updated when an existing test is added to a project until that test is opened in the Test Explorer.
Fixed Project Settings changes in Recording Options and Translators not persisted after close and reopen solution.
Fixed the Port # wasn't being populated in the UI of the test run config.
Fixes copy/paste of a test doesn't update its UniqueId (VS TestListEditor gets confused by duplicated unique IDs).
Exposed WebAiiTest.BrowserType property to override the Settings.DefaultBrowser. This is helpful in case of test list run where one or some tests can be executed against different browser. The property can be found upon right-click on the test in the TestList and load the properties.
Fixed changing name of .aii file does not change the class name in the code behind .cs file.
[RadControls for ASP.NET AJAX Wrappers]
Adds RadAsyncUpload control wrapper.
· Fixed TableHeader wrapper SortOrder property not working when the control is bound client-side.
· Fixed TableView wrapper DataItems not retrieved properly when the control is bound client-side. This affects the DataItems count verification which was not working in this case.
· Fixed filter item wrapper's FilterMenuPopup method opening the menu for wrong column in some scenarios.
RadFilter wrapper updated to work with the new rendering of the control.
Changed RadSlider int properties to return decimal.
RadEditor .Enabled properties (setters) are now culture-sensitive.
Fixed RadDateInput wrapper SelectedDate property setter.
Adds RadCalendar wrapper column and rows count properties.
Fixed RadToolTip translator not identifying Tooltips with shadow.
Fixed RadInput.TypeText() method fails if the control is not in the visible part of the page.
[RadControls for ASP.NET AJAX Translators]
Adds RadAsyncUpload translator.
RadFilter wrapper updated to work with the new rendering of the control.
· Fixed FilterItem visibilty verification quick task saving wrong test step.
· Fixed DataCell text verification sentence editor not initialized properly if the cell text is within an anchor.
· Fixed inability to record clicks when Command Item Template is used.
RadInput: Improved TypeText action descriptor with 2 new behavior properties:
· ClearBeforeTyping - determines whether the old value should be cleared.
· ResetCursorOnFocus - if 'true' will set the cursor to the first position of the input.
[RadControls for Silverlight Wrappers]
Grid: Added Index property to GridViewHeaderCell wrapper.
[RadControls for Silverlight Translators]
Grid: Recording ColumnSort action GridViewHeaderCell is clicked.