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):
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).
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)
------------------------------------------------------------
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).
IList<
FrameworkElement
> TreeListItems = tree.Find.AllByType("TreeListViewRow");
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).