Hi,
Our application team recently updated one of the screens in our application to replace RadTreeView with RadTreeListView to display a hierarchical set of data. While updating our automated tests to react to this change, I ran into several issues in the translator for the TreeListView control:
a) Attached error message showed up when I tried to record a step to verify root node count on the TreeListView control. Step was recorded using the Build Validation dialog - error occurred when I clicked OK after changing expected value (originally "value?") to the expected value.
b) When I ran the test, that same step failed with the following exception (note: same exception also occurs if the type of comparison is anything other than Equals such as GreaterThan):
'12/16/2013 5:47:43 PM' - 'Fail' : 41. radtreelistview(EncounterDiagProcNaviagationTreeRadtreelistview): root item count 'Equal' '0'.
------------------------------------------------------------
Failure Information:
~~~~~~~~~~~~~~~
Element Not found!
FindExpression used:
[name 'Exact' ColumnViewElement]
InnerException:
ArtOfTest.Common.Exceptions.FindElementException: Element Not found!
FindExpression used:
[name 'Exact' ColumnViewElement]
at ArtOfTest.Common.WaitSync.CheckResult(WaitSync wait, String extraExceptionInfo, Object target)
at ArtOfTest.Common.WaitSync.For[T](Predicate`1 predicate, T target, Boolean invertCondition, Int32 timeout, WaitResultType errorResultType)
at ArtOfTest.WebAii.Silverlight.VisualWait.ForExistsInternal(Int32 timeout, Boolean invertCondition)
at ArtOfTest.WebAii.Silverlight.VisualWait.ForVisible(Int32 timeout)
at ArtOfTest.WebAii.Silverlight.VisualFind.ReturnOrThrow(FrameworkElement e, String throwMessage)
at ArtOfTest.WebAii.Silverlight.VisualFind.ByName(String name)
at Telerik.WebAii.Controls.Xaml.RadTreeListView.get_ColumnView()
at Telerik.WebAii.Controls.Xaml.RadTreeListView.get_TreeViewPanel()
at Telerik.WebAii.Controls.Xaml.RadTreeListView.get_TreeListItems()
at Telerik.WebAii.Design.Translators.Xaml.TreeListView.TreeListViewIntegerPropertyVerification.GetValueByProperty(String name)
at Telerik.WebAii.Design.Translators.Xaml.Common.RadControlPropertyVerificationDescriptor.ExtractData(IApplication hostApp, DescriptorValueStore dataStore)
at ArtOfTest.WebAii.Design.Extensibility.XamlVerificationDescriptor.ExtractData(IAutomationHost targetHost, DescriptorValueStore dataStore)
at ArtOfTest.WebAii.Design.Execution.ExecutionEngine.ExecuteStep(Int32 order)
c) Same exception occurred when I attempted to get the root node count in a coded step (using the API RadTreeListView.TreeListItems.Count)
d) Same exception occurred when I attempted to get all the root nodes in the tree (using RadTreeListView.TreeListItems).
Upon reviewing past posts in the forum, I came across the following threads that (I believe) are reporting the same or similar issues:
http://www.telerik.com/automated-testing-tools/community/forums/test-studio-express/automation-framework/bug-with-radtreelistview.aspx
http://www.telerik.com/automated-testing-tools/community/forums/test-studio-express/automation-framework/time-outs-when-evaluating-properties-in-radtreelistview.aspx
http://www.telerik.com/automated-testing-tools/community/forums/test-studio-express/automation-framework/treelistviewtests-bugs.aspx
The bug referenced in the above threads (PITS 10006) remains unscheduled - and there is no corresponding issue (that I could find) in the new Issues and Feature Requests site.
Telerik: Could you update the status of the above issue? If it is fixed, which version of Test Studio has the fix? (Note, we are on 2012.2.1420 - upgrade is currently not an option for us). If it is not fixed, could you raise priority on it (there are already 5 votes on the PITS issue - I will add my vote as well).
I have worked around the above issues using the workarounds suggested in the above threads as well as some I developed on my own - but I do have a couple of questions/unresolved issues:
a) What is the real object type of the FrameworkElement objects in the list returned by the following code? it would be nice if I could get a list of higher-order objects (such as RadTreeListItem).
b) Due to the issues with TreeListItems API, I am unable to perform tree traversal and validation functions (for example, verify row B is a child of row A, or get all child rows of a given root node row). I believe that the TreeListView is still a tree view. I welcome any ideas/code for doing that in my version of Test Studio (in my signature block below).
Thanks for any help you can provide.
Shashi
Telerik Test Studio 2012.2.1420.0 (VS plugin).