Hello, I have been trying to run a test which involves opening and closing a certain dynamic popup window in an app. The strange thing is that unless I put a wait step before I connect to the popup window the test always fails, but if the 'connect to popup window' step runs before the window in question has fully loaded Test Studio can't seem to connect to it.
This suggests to me that Test Studio's WaitForNewBrowserConnect function is only checking to see if the popup has loaded one time, when it is first called, and if the popup loads after that the function fails to notice.
I am using a Partial URL for the popup window, and I tried simulating a real click for the link that produces the popup but it had no effect. I also tried the solution suggested on this page (http://docs.telerik.com/teststudio/testing-framework/frequently-asked-questions) with no luck.
Here is the error I am getting:
ArtOfTest.Common.Design.Exceptions.ExecutionException: Exception occurred waiting for the new browser to connect. ---> System.OperationCanceledException: Exception occurred waiting for the new browser to connect. ---> System.TimeoutException: Wait for condition has timed out
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.Common.WaitSync.For[T](Predicate`1 predicate, T target, Boolean invertCondition, Int32 timeout)
at ArtOfTest.WebAii.Core.Manager.WaitForNewBrowserConnect(String url, Boolean isPartial, Int32 timeout)
--- End of inner exception stack trace ---
at ArtOfTest.WebAii.Core.Manager.WaitForNewBrowserConnect(String url, Boolean isPartial, Int32 timeout)
at ArtOfTest.WebAii.Design.IntrinsicTranslators.Descriptors.HtmlDialogHandlerDescriptor.Execute(Browser browser)
at ArtOfTest.WebAii.Design.Extensibility.HtmlActionDescriptor.Execute(IAutomationHost autoHost)
at ArtOfTest.WebAii.Design.Execution.ExecutionEngine.ExecuteStep(Int32 order)
--- End of inner exception stack trace ---
This suggests to me that Test Studio's WaitForNewBrowserConnect function is only checking to see if the popup has loaded one time, when it is first called, and if the popup loads after that the function fails to notice.
I am using a Partial URL for the popup window, and I tried simulating a real click for the link that produces the popup but it had no effect. I also tried the solution suggested on this page (http://docs.telerik.com/teststudio/testing-framework/frequently-asked-questions) with no luck.
Here is the error I am getting:
ArtOfTest.Common.Design.Exceptions.ExecutionException: Exception occurred waiting for the new browser to connect. ---> System.OperationCanceledException: Exception occurred waiting for the new browser to connect. ---> System.TimeoutException: Wait for condition has timed out
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.Common.WaitSync.For[T](Predicate`1 predicate, T target, Boolean invertCondition, Int32 timeout)
at ArtOfTest.WebAii.Core.Manager.WaitForNewBrowserConnect(String url, Boolean isPartial, Int32 timeout)
--- End of inner exception stack trace ---
at ArtOfTest.WebAii.Core.Manager.WaitForNewBrowserConnect(String url, Boolean isPartial, Int32 timeout)
at ArtOfTest.WebAii.Design.IntrinsicTranslators.Descriptors.HtmlDialogHandlerDescriptor.Execute(Browser browser)
at ArtOfTest.WebAii.Design.Extensibility.HtmlActionDescriptor.Execute(IAutomationHost autoHost)
at ArtOfTest.WebAii.Design.Execution.ExecutionEngine.ExecuteStep(Int32 order)
--- End of inner exception stack trace ---
13 Answers, 1 is accepted
0
Hello Ian,
I apologize for the delay getting back to you.
What you describe is very odd behavior. Is there a publicly accessible URL I can connect to and study this behavior? Can you send me a test I can run on my machine that reproduces this problem?
When you state "wait step" are you referring to an Execution delay? How much of a delay are you putting in? If it's something else, please clarify what sort of "wait step" you add that makes it work.
The only possibility I can imagine that would cause the behavior you are describing is perhaps the application is actually opening 2 popup windows in a row. The first opens and closes so fast you don't see it but Test Studio does and is trying to connect to it... but then times out because it closed right away. Adding an execution delay would cause Test Studio to skip trying to connect to this first popup and successfully connect to the second real popup that you want/need to connect to. Is this possible?
Regards,
Cody
Telerik
I apologize for the delay getting back to you.
What you describe is very odd behavior. Is there a publicly accessible URL I can connect to and study this behavior? Can you send me a test I can run on my machine that reproduces this problem?
When you state "wait step" are you referring to an Execution delay? How much of a delay are you putting in? If it's something else, please clarify what sort of "wait step" you add that makes it work.
The only possibility I can imagine that would cause the behavior you are describing is perhaps the application is actually opening 2 popup windows in a row. The first opens and closes so fast you don't see it but Test Studio does and is trying to connect to it... but then times out because it closed right away. Adding an execution delay would cause Test Studio to skip trying to connect to this first popup and successfully connect to the second real popup that you want/need to connect to. Is this possible?
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 23 Mar 2015, 04:14 PM
Yes, I am referring to an "Execution Delay", sorry for the confusion. The delay has to be a few seconds to work, it varies with the performance of the site, this morning 5000 msec seems to be working.
As far as I can tell it is only generating one popup, but I suppose it could be so fast that its invisible like you said. Unfortunately I can't provide the URL for you to test.
As far as I can tell it is only generating one popup, but I suppose it could be so fast that its invisible like you said. Unfortunately I can't provide the URL for you to test.
0
Hi Ian,
Please try to capture a Fiddler trace of this popup opening without using Test Studio.
1) Make sure that Decrypt HTTP traffic is checked
2) Make sure that Store Binaries is checked.
3) Click Clear Cache before launching the browser to start the trace
I will study the trace to try and determine what's going on. I may be able to reproduce the problem using the Fiddler trace to simulate your web server.
Regards,
Cody
Telerik
Please try to capture a Fiddler trace of this popup opening without using Test Studio.
1) Make sure that Decrypt HTTP traffic is checked
2) Make sure that Store Binaries is checked.
3) Click Clear Cache before launching the browser to start the trace
I will study the trace to try and determine what's going on. I may be able to reproduce the problem using the Fiddler trace to simulate your web server.
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 23 Mar 2015, 07:58 PM
Will Fiddler record the data entered in forms on the site?
0
Hi Ian,
It will record all HTTP traffic exchanged between your machine and any external web site. Data entered into forms normally stays in the browser until you click Submit. Then the data is sent to the server in an HTTP POST command with the data sent as web form data in a group.
Regards,
Cody
Telerik
It will record all HTTP traffic exchanged between your machine and any external web site. Data entered into forms normally stays in the browser until you click Submit. Then the data is sent to the server in an HTTP POST command with the data sent as web form data in a group.
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 23 Mar 2015, 08:16 PM
I can't provide a recording then, the test in question deals with some sensitive data.
0
Hello,
I'd like to look at this problem on your machine via GoToMeeting. Let me know what timezone you're in and your availability and I'll setup the meeting. I'm located in Austin, Texas, which is Central time zone.
Regards,
Cody
Telerik
I'd like to look at this problem on your machine via GoToMeeting. Let me know what timezone you're in and your availability and I'll setup the meeting. I'm located in Austin, Texas, which is Central time zone.
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 23 Mar 2015, 10:19 PM
I am leaving work for the day in a few minutes, do you have an email I can reach you at to continue this tomorrow?
0
Hello Ian,
We strongly prefer all communication be done here through our ticket system (except for online meetings... and even those we document the outcome here).
I'm available tomorrow until noon CDT. Then I'll be out of office until Thursday morning. Just let me know what time works for you.
Regards,
Cody
Telerik
We strongly prefer all communication be done here through our ticket system (except for online meetings... and even those we document the outcome here).
I'm available tomorrow until noon CDT. Then I'll be out of office until Thursday morning. Just let me know what time works for you.
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 24 Mar 2015, 03:30 PM
I can't do any remote desktop or screen sharing, we have pretty stringent security requirements here.
0
Hello Ian,
Wow they do make it difficult to assist! To be honest, I can't really help much more until I can witness the problem first hand so that I can diagnose what's going on, one way or another. Do keep in mind our End User License Agreement includes an NDA clause in it. We are prohibited from disclosing any information about your product to any third party.
Regards,
Cody
Telerik
Wow they do make it difficult to assist! To be honest, I can't really help much more until I can witness the problem first hand so that I can diagnose what's going on, one way or another. Do keep in mind our End User License Agreement includes an NDA clause in it. We are prohibited from disclosing any information about your product to any third party.
Regards,
Cody
Telerik
0
Ian
Top achievements
Rank 1
answered on 24 Mar 2015, 04:21 PM
Yeah it can be a hassle, but we deal with a lot of highly confidential data, so there isn't really a way around it. Honestly I'm not nearly as worried about this bug as I am about the performance tests causing crashes, since this problem can be mitigated with execution delays.
0
Hi,
All right, fair enough. Let's close this one until it becomes a major issue for you.
Regards,
Cody
Telerik
All right, fair enough. Let's close this one until it becomes a major issue for you.
Regards,
Cody
Telerik