Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

browser.click executes the action but gets stuck in the process #165

Closed
pgrm opened this issue Nov 30, 2015 · 3 comments
Closed

browser.click executes the action but gets stuck in the process #165

pgrm opened this issue Nov 30, 2015 · 3 comments

Comments

@pgrm
Copy link

pgrm commented Nov 30, 2015

Given the following example:

var c = require('./config');

module.exports = function () {
    this.When(/^I try to login with wrong credentials$/, function () {
        browser.setValue(userNameField, wrongUser);
        browser.setValue(passwordField, wrongPassword);
        browser.click('button[value="Login"]');
    });
    this.When(/^I try to login with the correct credentials$/, function () {
        browser.setValue(userNameField, c.userName);
        browser.setValue(passwordField, c.password);
        console.log('before pressig the button');
        browser.click('button[value="Login"]');
        console.log('logged in');
    });
};

The first When executes just fine. The second When also works, I just don't get to see

logged in

on the console. Both run on the same website, and both click on a button. In the second case, after the login succeeds, the browser is redirected to an angular SPA. Here everything loads up correctly, but that's it.

Running the tests with --debug --log=command I saw this to be the last line (before the timeout)

�[1;30m[01:30:18]: �[0m �[0;35mCOMMAND  �[0mPOST     "/wd/hub/session/7c334efe-2417-4184-b43c-082ba4441291/element/11/click"

switching log-level to verbose, and waiting for ~5min I got the following error:

[chimp][selenium.stderr] 01:36:59.561 DEBUG - Executed: [0560aaa14e4cf874afd72336c19e299b, clickElement {id=0.6384125368203968-3}]

[chimp][selenium.stderr] 01:37:02.449 WARN - Exception thrown
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=47.0.2526.73)
  (Driver info: chromedriver=2.19.346063 (38b35413bd4a486d436a9749e090454bc9ff6708),platform=Mac OS X 10.11.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 310.12 seconds
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: '<HOST_NAME>', ip: '<IP_ADDRESS>', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11', java.version: '1.8.0_20'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=/var/folders/nc/3cdxbvwj44j_gk1qj24mbr5w0000gn/T/.org.chromium.Chromium.1n3kHd}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=47.0.2526.73, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 0560aaa14e4cf874afd72336c19e299b
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
  at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
  at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
  at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595)
  at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:273)
  at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:483)
  at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement$1.invoke(EventFiringWebDriver.java:332)
  at com.sun.proxy.$Proxy3.click(Unknown Source)
  at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.click(EventFiringWebDriver.java:345)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:483)
  at org.openqa.selenium.remote.server.KnownElements$1.invoke(KnownElements.java:64)
  at com.sun.proxy.$Proxy2.click(Unknown Source)
  at org.openqa.selenium.remote.server.handler.ClickElement.call(ClickElement.java:30)
  at org.openqa.selenium.remote.server.handler.ClickElement.call(ClickElement.java:1)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:745)

[chimp][selenium.stderr] 01:37:02.458 WARN - Exception: timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=47.0.2526.73)
  (Driver info: chromedriver=2.19.346063 (38b35413bd4a486d436a9749e090454bc9ff6708),platform=Mac OS X 10.11.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 310.12 seconds
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: '<HOST_NAME>', ip: '<IP_ADDRESS>', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.11', java.version: '1.8.0_20'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=/var/folders/nc/3cdxbvwj44j_gk1qj24mbr5w0000gn/T/.org.chromium.Chromium.1n3kHd}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=47.0.2526.73, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 0560aaa14e4cf874afd72336c19e299b

[chimp][selenium.stderr] 01:37:02.471 DEBUG - Finished: POST /session/e103e58b-7ac9-4c8d-8f65-1f60295231d9/element/11/click

It takes on average between 3-7s for the first page of the SPA to be loaded, data to be initialised, ... (chrome stops showing that the page is loading). The timeout is set to 10s so I thought to increase it, via

module.exports = function () {
    this.BeforeScenario(function () {
        browser.timeout('script', 60 * 1000);
        browser.timeout('page load', 60 * 1000);
    });
};

but that didn't help either. Any idea what I could do / try?

Just to clarify again - the login page is a simple static server-side rendered HTML. After the user is logged in, they are redirected to a SPA, which is based on Angular 1.4. Pressing the login button with wrong credentials works probably, because I don't get redirected to the SPA, but back to the login page.

Thx

@pgrm
Copy link
Author

pgrm commented Dec 1, 2015

I've noticed, that it works from time to time, and when it didn't work, I could just reload the browser windows, and than the script would continue. Any ideas what the problem could be?

I've asked this also on SO: http://stackoverflow.com/questions/33990292/org-openqa-selenium-timeoutexception-when-loading-angular-spa

@samhatoum
Copy link
Member

Hey @pgrm

it's an odd issue indeed. It's really difficult to see what's going on, and like in the SO thread answer, I would advise to narrow down the problem. I would start with a simple 1 page app, then complicate piece by piece until you find the culprit.

It looks like something in the app is causing it, but if it's not, show me what it is in chimp and I'll fix it :)

@ghost
Copy link

ghost commented Feb 22, 2016

Not fixable in Chimp.

@ghost ghost closed this as completed Feb 22, 2016
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants