This is a migrated thread and some comments may be shown as answers.

Execution problem in Chrome

21 Answers 262 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Devin
Top achievements
Rank 1
Devin asked on 01 Dec 2011, 05:08 PM
My tests run fine in IE, FF, and Safari. In Chrome when navigating between two specific pages, the framework seems to loose communication with the browser. I have verified that chrome is setup exactly to the documentation, and the extension is installed correctly. I've tried the latest versions of both Chrome 14 and 15. This doesn't seem to happen between any other pages but these two (I've tried a number of other pages). It happens running tests via mstest, nunit gui, the resharper unit test runner, and our own in-house test runner. I've already updated to the latest version of the testing framework (2011.2.1117). When it happens, I get the following exception:

System.TimeoutException : Wait for condition has timed out
TearDown : ArtOfTest.WebAii.Exceptions.ExecuteCommandException : ExecuteCommand failed!
BrowserCommand (Type:'Information',Info:'IsReady',Action:'NotSet',Target:'null',Data:'',ClientId:'085be0a3-b603-4246-9cae-65586fcf69af',HasFrames:'False',FramesInfo:'',TargetFrameIndex:'-1',InError:'False',Response:'')
InnerException: System.TimeoutException: Timed out waiting for command to be handled
   at ArtOfTest.WebAii.Messaging.Process.BrowserHttpRemoted.ProcessBrowserRequest(BrowserCommand command, String requestId, Int32 timeout)
   at ArtOfTest.WebAii.Messaging.Process.BrowserHttpRemoted.ProcessBrowserRequest(BrowserCommand command, String requestId)
   at ArtOfTest.WebAii.Core.Browser.ExecuteCommandInternal(BrowserCommand request)
 
  ----> System.TimeoutException : Timed out waiting for command to be handled

Being able to run tests in Chrome is very important to us, I hope you can help us with this issue.

21 Answers, 1 is accepted

Sort by
0
Jonathan
Top achievements
Rank 1
answered on 02 Dec 2011, 04:49 PM
Hi, I am actually having the same problem when trying to execute a simple step on our internal web application.

As Devin, mentioned it is of extreme importance to be able to test on Chrome.
0
Plamen
Telerik team
answered on 06 Dec 2011, 05:14 PM
Hello Devin and Jonathan,

I'm sorry for the delay getting back to you on this.

It looks like you are hitting a known issue where Chrome is prematurely sending a "Ready" state back to Test Studio and the element cannot be found because Test Studio is looking for it in the prior page's DOM. This is already logged as a bug and you can track its progress here: Public URL .

In the meantime until the issue is resolved, please add an execution delay before the navigation. You can do that using the following code:
System.Threading.Thread.Sleep(5000);

Please let me know if it works!

Kind regards,
Plamen
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Doug
Top achievements
Rank 1
answered on 09 Feb 2012, 05:20 PM
I'm experiencing the same problem.  Other browsers work fine, but I get timeout exceptions with Chrome.

When you suggest to put in a delay, do you mean to put it before the ActiveBrowser.Navigate call?

0
Plamen
Telerik team
answered on 10 Feb 2012, 11:11 AM
Hello Doug,

I'm sorry you are experiencing this problem. We currently have a known issue with Chrome and it actively being worked on with high priority. We're hoping for a swift fix that will make it into our Service Pack release due early next week.

Greetings,

Plamen
the Telerik team

 

Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Jeremy
Top achievements
Rank 1
answered on 15 Jun 2012, 03:38 PM
This issue still occurs in Chrome for the telerik testing framework version 2012.1.518. Any ideas when this will be fixed?
0
Plamen
Telerik team
answered on 18 Jun 2012, 01:51 PM
Hi Jeremy,

Unfortunately, it turns out that our developers have to rewrite the whole Chrome extension in order to fix the issue. We expect the fix to be included in our next SP release next month.

Kind regards,
Plamen
the Telerik team
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Susan
Top achievements
Rank 1
answered on 06 Aug 2013, 06:22 PM
I am having this issue with Telerik Test Studio version 2012.2.1420.0 against Chrome 28.0.1500.95.  I added a sleep for 20 seconds between page navigation, but my script still starts throwing the following error after about the 100th page visited:

ExecuteCommand failed!
BrowserCommand (Type:'Information',Info:'IsReady',Action:'NotSet',Target:'null',Data:'',ClientId:'6875439d-63b6-4927-8cc6-8fe226bc4ab2',HasFrames:'False',FramesInfo:'',TargetFrameIndex:'-1',InError:'False',Response:'')
InnerException: System.TimeoutException: Timed out waiting for command to be handled
   at ArtOfTest.WebAii.Messaging.Process.BrowserHttpRemoted.ProcessBrowserRequest(BrowserCommand command, String requestId, Int32 timeout)
   at ArtOfTest.WebAii.Messaging.Process.BrowserHttpRemoted.ProcessBrowserRequest(BrowserCommand command, String requestId)
   at ArtOfTest.WebAii.Core.Browser.ExecuteCommandInternal(BrowserCommand request)

I do not have this issue in IE or Firefox, and my script will need to handle several thousand page visits.  Could you please let me know if this has been corrected in the latest release (v R1 2013)?  I checked Issue Id 9689 and it says it is resolved, however it does not have a release version.
0
Vince
Top achievements
Rank 1
answered on 09 Aug 2013, 09:59 AM
I think I am having this problem in chrome. I am running telerik test studio version 2013.1.806.0, and chrome Version 28.0.1500.95 m.

In our web application, selecting a value from a filter drop-down list automatically refreshes a table of data below. In my test the click is happening correctly and the screen is correctly refreshing itself, but the next step (a coded step which verifies the refreshed state of the table) is failing because it doesn't wait for the refresh; and if I force it to wait, it is still reading the old state of the DOM, from before the refresh.
I have tried the following workarounds, mainly without success:

ActiveBrowser.WaitUntilReady();
This does not work; the test does not wait at all, but carries on before the refresh has completed.

ActiveBrowser.WaitForAjax(30000);
This does not work either; again, the test does not wait at all but continues to the next step before the screen has refreshed.

AjaxWait();
This is a suggested solution from a previous thread; does not work either; again, the test continues to the next step without waiting for the refresh to complete.

System.Threading.Thread.Sleep(10000);

This does not work, in quite an interesting way. It does wait for ten seconds, by which time the screen has completed refreshing. But the coded step fails because it is getting the data from the old DOM tree, from before the refresh.

This is the only solution I have found which does work:

System.Threading.Thread.Sleep(10000);
ActiveBrowser.RefreshDomTree();

After I have called the RefreshDomTree method, the coded step succeeds because it is now seeing the correct refreshed data.

The problem does not occur at all when I run the test on IE10 or Firefox 23 - the coded step automatically waits for the screen to refresh, automatically uses the refreshed DOM tree, and the coded waits, delays and refreshes are not needed. I only get this problem when running the test on Chrome.

P.S. The web application is built in asp.net, and the control's html calls __DoPostBack like this:

onchange="javascript:setTimeout('__doPostBack(\'cboHospital\',\'\')', 0)"

0
Mario
Telerik team
answered on 09 Aug 2013, 05:10 PM
Hello Vince,

Thank you for contacting Telerik Support.

I'm sorry that you've run into this difficulty while automating against Chrome but am also pleased to hear you've already found a reasonable workaround for the issue. In order for us to investigate further, please help us to reproduce the issue in our local environment by providing a code sample or test along with access to the application with this drop-down control or one that is public but acts similarly (eg. Telerik's drop-down demo). If you are unable to, another alternative is to capture a Fiddler trace which we can use to "simulate" the application. You can attach the trace to this ticket in a zip, if you are unfamiliar with how to create one, this link will provide you with step-by-step instructions for download and use. Alongside the previous instructions, please make sure to enable the 'Store binaries' and 'Decrypt HTTPS traffic' options prior to starting the capture (see image). Thank you for helping us advise you.

Regards,
Mario
Telerik
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Vince
Top achievements
Rank 1
answered on 13 Aug 2013, 09:42 AM
Hi Mario - I've tried using the Telerik's drop-down demo site, but the behaviour is different and I think it's because that is actually a different kind of control; it's a fancy custom drop-down list with a button to press, where the postback is triggered by the button's onchange event. Do you know of a demo site I can use where there is a postback triggered by the onchange event on an ordinary <select> element?
0
Vince
Top achievements
Rank 1
answered on 14 Aug 2013, 10:51 AM
Mario: I have taken a trace using FiddlerCap; the results are attached.
0
Mario
Telerik team
answered on 15 Aug 2013, 10:55 PM
Hi Vince,

I have been able to use the trace to simulate your application, however I just want to make sure you recorded the entire workflow of changing the dropdown options which trigger the postback events during the trace. Also I am currently not entirely sure which dropdown I should be using to reproduce the issue, just a small description of its name or expected value should be sufficient.

Regards,
Mario
Telerik
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Vince
Top achievements
Rank 1
answered on 16 Aug 2013, 08:29 AM
Hi Mario

Yes, the recording included the entire workflow. The drop-down list whose selection triggers the postback is this one:

<select name="cboHospital"
              onchange="javascript:setTimeout('__doPostBack(\'cboHospital\',\'\')', 0)"
              language="javascript" id="cboHospital" class="ListBoxFullWidth">
                <option selected="selected" value="0">All hospitals</option>
                ... more options ...

After the postback has been triggered, the coded step is trying to verify the changes to the contents of the 'Un-assigned' table, but is failing. I hope that helps.
0
Martin
Top achievements
Rank 1
answered on 20 Aug 2013, 02:56 PM
Hi, 
we too are facing the problem with chrome. Elements which are definetely existing (and found via IE9) are not found when testing in Chrome.

So  in the Moment i have to  testing for chrome. This is very disturbing to me, because it is one of the basic functions.
In this case its happening after an hover over an menu - item, but the then shown Li - element is not found.
0
Mario
Telerik team
answered on 20 Aug 2013, 10:02 PM
Hello Vince/Jochen,

Unfortunately it seems as though I have run into some limitation with Fiddler which is preventing me from reproducing the issue using only a trace (likely app specific). I went in search of a public example which looks similar, so far the closest I've found is this cascading drop-down demonstration whose 'Color' select drop-down element resembles your source, see below:

<select style="width: 170px;" id="ctl00_SampleContent_DropDownList3" onchange="javascript:setTimeout('__doPostBack(\'ctl00$SampleContent$DropDownList3\',\'\')', 0)" disabled="" name="ctl00$SampleContent$DropDownList3"><option value="">Please select a color</option></select>

However using this example has still not helped me to reproduce the problem, please see example project attached which runs in IE and Chrome. I should however add that I needed to use a sufficient amount of Wait verification's, however I did not require any explicit execution delay's or manual refreshes of the DOM tree. Please let me know if either of you are able to reproduce the original issue on any site which I can access directly.

Regards,
Mario
Telerik
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Martin
Top achievements
Rank 1
answered on 21 Aug 2013, 09:23 AM
BTW: we still are working with the latest 2012 Release, because of the Testlistbug in the 2013 - Release.

Try this page

https://zertifikate.vontobel.com/DE/Home


Record an Hover maybe over "Meine Produkte" and then check, if the Div with the input fields IS VISIBLE!!!.


Ah: I am Michael, Jochen is a collegue.

0
Mario
Telerik team
answered on 26 Aug 2013, 02:30 PM
Hi Michael,

I'm sorry but I was still not able to reproduce this issue using your application, though I am on the latest R1 2013 release (2013.1.806). Please see my example (test and short execution video) attached which verifies the initial state of these two inputs as 'not visible', hovers over 'Meine Produkte', verifies the same inputs as 'visible' and enters some text into them.

Please let me know if your test scenario differs in any way.

Regards,
Mario
Telerik
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
0
Anderson
Top achievements
Rank 1
answered on 24 Nov 2014, 11:00 AM
Hi Telerik,
i am encountering this problem in chrome now, did this got fixed? i am using ST R3 2014.

the belowerror is occuring when i click the login button:

InnerException: System.TimeoutException: Timed out waiting for command to be handled at ArtOfTest.WebAii.Messaging.Process.BrowserHostsProxyRemoted.ProcessBrowserRequest(BrowserCommand command, String requestId, Int32 timeout).

I have followed the forum, and tried varoius suggested solution, its still not working
0
Boyan Boev
Telerik team
answered on 27 Nov 2014, 08:45 AM
Hello Anderson,

Please download the latest Chrome extension and give that a try.

Those are stored in the Chrome Web Store as required by Google (security reasons). You need to download them manually from the Web Store and enable to make use of them (remove the old ones).

See this article for more info and direct links.

Please try also upgrading to our latest internal build (1016).

You can download it from here.

Let me know if this helps.

Regards,
Boyan Boev
Telerik
 
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
 
0
Anderson
Top achievements
Rank 1
answered on 01 Dec 2014, 10:28 AM
Hi Boyan,
i have added latest chrome extensions as well as upgrade to latest TS 1016, but i am still experiencing the time out error, sometimes it works, sometimes it doesnt.

Just you are clear mine is not on navigation step but login step.
I have a simple step of login to our application and the timeout error is occuring on "click login button" step.

thanks,
Anderson
0
Boyan Boev
Telerik team
answered on 03 Dec 2014, 09:38 AM
Hi Anderson,

I am sorry to hear you are still experiencing this problem.

Please try setting simulate real click for the click step and give that a try.

If the issue persists please grant us a direct access to your application so we can reproduce the issue and give you a solution.

Hope to hear from you soon.

Regards,
Boyan Boev
Telerik
 
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
 
Tags
General Discussions
Asked by
Devin
Top achievements
Rank 1
Answers by
Jonathan
Top achievements
Rank 1
Plamen
Telerik team
Doug
Top achievements
Rank 1
Jeremy
Top achievements
Rank 1
Susan
Top achievements
Rank 1
Vince
Top achievements
Rank 1
Mario
Telerik team
Martin
Top achievements
Rank 1
Anderson
Top achievements
Rank 1
Boyan Boev
Telerik team
Share this question
or