Completed
Last Updated: 15 Jul 2014 12:09 by ADMIN
ADMIN
Stoich
Created on: 04 Feb 2014 15:51
Type: Bug Report
0
Click on KendoButton fails immediately instead of respecting the WaitOnElementsTimeout
Each step in Test Studio has a built-in TimeOut. This means that whenever we cannot find an element which is associated with a step - we will wait a set amount of time for the element to appear (30 s by default). 
For KendoButtons (and possibly other Kendo widgets) this doesn't seem to be respected. If we cannot find the KendoButton by its tagIndex - we will fail the test instantly with an exception similar to this:

Invalid control '[Element: 'span:560']'.  Control does not match FindExpression '[class 'Contains' k-widget] AND [tagname 'Exact' span]'
InnerException:
System.ArgumentException: Invalid control '[Element: 'span:560']'.  Control does not match FindExpression '[class 'Contains' k-widget] AND [tagname 'Exact' span]'
   at ArtOfTest.WebAii.Controls.Control.CreateInstance[TControl](Element e, Boolean throwIfNull)
   at Telerik.TestStudio.Translators.KendoUI.Input.KendoButtonsAction.Execute(Browser browser)
   at ArtOfTest.WebAii.Design.Extensibility.HtmlActionDescriptor.Execute(IAutomationHost autoHost)
   at ArtOfTest.WebAii.Design.Execution.ExecutionEngine.ExecuteStep(Int32 order)

Demo site for repro:
http://demos.telerik.com/kendo-ui/web/grid/editing-popup.html

Here's how to reproduce the problem:
http://screencast.com/t/jVINBlAUJ2
2 comments
ADMIN
Iliyan Panchev
Posted on: 15 Jul 2014 12:09
There is a new find expression logic that fixes this problem. It will be part of the upcoming minor and major releases. 
ADMIN
Konstantin Petkov
Posted on: 06 Feb 2014 13:57
Hello,

This is specific to the demo app. Test Studio cannot find anything reliable to record the element accordingly (no parent element with ID for example) and defaults to the tag index. Which in turn records brittle find logic and the app makes it easier to break by updating the HTML adding more span elements according to the user actions. For example you record a test but continue to do something in the same browser instances so you get more elements in the HTML and on playback test fails because it finds another element (span 560 no longer corresponds to the KendoUI widget).

Useful resources:
http://docs.telerik.com/teststudio/user-guide/project-settings/identification-logic.aspx
http://tv.telerik.com/watch/automated-testing-tools/test-studio-flexible-locators
http://docs.telerik.com/teststudio/user-guide/elements-pane-overview/find-element.aspx

Regards!