Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

On IE11: Adjacent browser.get() calls causes fail error #4268

Closed
yimothy opened this issue May 5, 2017 · 2 comments
Closed

On IE11: Adjacent browser.get() calls causes fail error #4268

yimothy opened this issue May 5, 2017 · 2 comments

Comments

@yimothy
Copy link

yimothy commented May 5, 2017

Hi there,

When calling more than one adjacent browser.get() functions, I receive a "Failed: JavaScript error (WARNING: The server did not provide any stacktrace information). Sometimes the calls seem to go through, but most of the time it fails. I thought this was an async issue regarding the second browser.get() being called before the first browser.get() finishes, but even after adding a browser.wait for 30 seconds, the failure still occurs. This happens on IE and not on Chrome.

I am using:

  • Node v6.10.1
  • IE 11
  • Protractor5.1.1
  • IEDriverServer3.4.0
  • selenium-server-standalone-3.4.0.jar

I have provided a reduced test case, my config file, and the the full error below:

Please let me know if there is any other information I should provide. Thanks.

conf.js

'use strict';

exports.config = {
    jvmArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer3.4.0.exe'],
    seleniumAddress: 'http://localhost:4444/wd/hub',
    framework: 'jasmine',

    multiCapabilities: [
     {
     browserName: 'internet explorer',
     ignoreProtectedModeSettings: true
     }
    ],
    specs: ['todo-spec.js']
};

todo-spec.js

describe('angularjs homepage todo list', function() {
    beforeAll(function() {
        browser.wait(browser.get('https://angularjs.org'), 30000);
    });
    it('should add a todo', function() {
        browser.get('https://angularjs.org');

        var todoList = element.all(by.repeater('todo in todoList.todos'));
        expect(todoList.count()).toEqual(2);
        expect(todoList.get(1).getText()).toEqual('build an AngularJS app');
    });
});

Full error

[16:19:44] I/launcher - Running 1 instances of WebDriver
[16:19:44] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
Started
FA Jasmine spec timed out. Resetting the WebDriver Control Flow.
A Jasmine spec timed out. Resetting the WebDriver Control Flow.


Failures:
1) angularjs homepage todo list should add a todo
  Message:
    Failed: JavaScript error (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 62 milliseconds
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
    System info: host: 'NYCWHF2C4295', ip: '45.4.85.51', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
    Driver info: org.openqa.selenium.ie.InternetExplorerDriver
    Capabilities [{se:ieOptions={browserAttachTimeout=0.0, ie.enableFullPageScreenshot=true, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.forceShellWindowsApi=false, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000.0, ie.useLegacyFileUplo
adDialogHandling=false, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0.0, ie.browserCommandLineSwitches=, requireWindowFocus=false, initialBrowserUrl=http://localhost:47688/, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true
}, browserName=internet explorer, pageLoadStrategy=normal, javascriptEnabled=true, version=11, platform=WINDOWS, unexpectedAlertBehaviour=dismiss}]
    Session ID: f000753e-7638-4dee-a5da-16ecfed2b1a7
  Stack:
    JavascriptError: JavaScript error (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 62 milliseconds
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
    System info: host: 'NYCWHF2C4295', ip: '45.4.85.51', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
    Driver info: org.openqa.selenium.ie.InternetExplorerDriver
    Capabilities [{se:ieOptions={browserAttachTimeout=0.0, ie.enableFullPageScreenshot=true, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.forceShellWindowsApi=false, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000.0, ie.useLegacyFileUplo
adDialogHandling=false, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0.0, ie.browserCommandLineSwitches=, requireWindowFocus=false, initialBrowserUrl=http://localhost:47688/, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true
}, browserName=internet explorer, pageLoadStrategy=normal, javascriptEnabled=true, version=11, platform=WINDOWS, unexpectedAlertBehaviour=dismiss}]
    Session ID: f000753e-7638-4dee-a5da-16ecfed2b1a7
        at WebDriverError (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:27:5)
        at JavascriptError (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:133:5)
        at Object.checkLegacyResponse (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:505:15)
        at parseHttpResponse (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\http.js:509:13)
        at doSend.then.response (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\http.js:440:13)
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: Protractor.get(https://angularjs.org/) - get url
        at WebDriver.schedule (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:816:17)
        at ProtractorBrowser.executeScriptWithDescription (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:583:24)
        at driver.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:897:25)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:947:14
        at TaskQueue.execute_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2970:14)
        at TaskQueue.executeNext_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2953:27)
        at asyncRun (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2860:25)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:676:7
    From: Task: <anonymous>
        at Timeout.pollCondition [as _onTimeout] (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2101:19)
        at ontimeout (timers.js:380:14)
        at tryOnTimeout (timers.js:244:5)
        at Timer.listOnTimeout (timers.js:214:5)
    From: Task: waiting for page to load for 10000ms
        at scheduleWait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2094:20)
        at ControlFlow.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2408:12)
        at WebDriver.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:943:29)
        at driver.controlFlow.execute.then.then.then.then (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:896:30)
        at ManagedPromise.invokeCallback_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:1366:14)
        at TaskQueue.execute_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2970:14)
        at TaskQueue.executeNext_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2953:27)
        at asyncRun (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2813:27)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: Run beforeAll in control flow
        at Object.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\jasminewd2\index.js:94:19)
    From asynchronous test:
    Error
        at Suite.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\todo-spec.js:2:5)
        at Object.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\todo-spec.js:1:1)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
  Message:
    Failed: JavaScript error (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 66 milliseconds
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
    System info: host: 'NYCWHF2C4295', ip: '45.4.85.51', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
    Driver info: org.openqa.selenium.ie.InternetExplorerDriver
    Capabilities [{se:ieOptions={browserAttachTimeout=0.0, ie.enableFullPageScreenshot=true, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.forceShellWindowsApi=false, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000.0, ie.useLegacyFileUplo
adDialogHandling=false, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0.0, ie.browserCommandLineSwitches=, requireWindowFocus=false, initialBrowserUrl=http://localhost:47688/, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true
}, browserName=internet explorer, pageLoadStrategy=normal, javascriptEnabled=true, version=11, platform=WINDOWS, unexpectedAlertBehaviour=dismiss}]
    Session ID: f000753e-7638-4dee-a5da-16ecfed2b1a7
  Stack:
    JavascriptError: JavaScript error (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 66 milliseconds
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
    System info: host: 'NYCWHF2C4295', ip: '45.4.85.51', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
    Driver info: org.openqa.selenium.ie.InternetExplorerDriver
    Capabilities [{se:ieOptions={browserAttachTimeout=0.0, ie.enableFullPageScreenshot=true, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.forceShellWindowsApi=false, ignoreZoomSetting=false, ie.fileUploadDialogTimeout=3000.0, ie.useLegacyFileUplo
adDialogHandling=false, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0.0, ie.browserCommandLineSwitches=, requireWindowFocus=false, initialBrowserUrl=http://localhost:47688/, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true
}, browserName=internet explorer, pageLoadStrategy=normal, javascriptEnabled=true, version=11, platform=WINDOWS, unexpectedAlertBehaviour=dismiss}]
    Session ID: f000753e-7638-4dee-a5da-16ecfed2b1a7
        at WebDriverError (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:27:5)
        at JavascriptError (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:133:5)
        at Object.checkLegacyResponse (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\error.js:505:15)
        at parseHttpResponse (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\http.js:509:13)
        at doSend.then.response (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\http.js:440:13)
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: Protractor.get(https://angularjs.org/) - get url
        at WebDriver.schedule (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:816:17)
        at ProtractorBrowser.executeScriptWithDescription (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:583:24)
        at driver.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:897:25)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:947:14
        at TaskQueue.execute_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2970:14)
        at TaskQueue.executeNext_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2953:27)
        at asyncRun (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2860:25)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: <anonymous>
        at pollCondition (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2101:19)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2097:7
        at new ManagedPromise (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:1067:7)
        at ControlFlow.promise (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2396:12)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2096:22
        at TaskQueue.execute_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2970:14)
        at TaskQueue.executeNext_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2953:27)
        at asyncRun (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2860:25)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: waiting for page to load for 10000ms
        at scheduleWait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2094:20)
        at ControlFlow.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2408:12)
        at WebDriver.wait (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\webdriver.js:943:29)
        at driver.controlFlow.execute.then.then.then.then (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\protractor\lib\browser.ts:896:30)
        at ManagedPromise.invokeCallback_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:1366:14)
        at TaskQueue.execute_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2970:14)
        at TaskQueue.executeNext_ (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2953:27)
        at asyncRun (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:2813:27)
        at C:\BLKDeveloper\apps\protractor-setup-test\node_modules\selenium-webdriver\lib\promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)
    From: Task: Run it("should add a todo") in control flow
        at Object.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\node_modules\jasminewd2\index.js:94:19)
    From asynchronous test:
    Error
        at Suite.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\todo-spec.js:5:5)
        at Object.<anonymous> (C:\BLKDeveloper\apps\protractor-setup-test\todo-spec.js:1:1)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)

1 spec, 1 failure
Finished in 1.957 seconds

[16:19:56] I/launcher - 0 instance(s) of WebDriver still running
[16:19:56] I/launcher - internet explorer #01 failed 1 test(s)
[16:19:56] I/launcher - overall: 1 failed spec(s)
[16:19:56] E/launcher - Process exited with error code 1
@yimothy
Copy link
Author

yimothy commented May 8, 2017

This issue is fixed when you use browser.driver.get() instead of browser.get().

Seems like this is a known error that has happened with previous versions of Protractor (see #841).

On IE11, this error still occurs around 1% of the time with a single browser.get() call, but happens almost 100% of the time when there are are 2 adjacent browser.get() calls. Seems to be because the Javascript error from #841, for one reason or another, is no longer getting ignored.

For anyone currently encountering this error, I would suggest just using the browser.driver.get() function instead.

@heathkit
Copy link
Contributor

heathkit commented May 9, 2017

This was fixed previously, but the upgrade to Selenium 3 broke the fix. #4149

It should be fixed for the next release, 5.1.2

@heathkit heathkit closed this as completed May 9, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants