This repository was archived by the owner on Jul 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Browser.wait() call times out constantly when using forked browser instance #5240
Copy link
Copy link
Open
Description
Bug report
- Node Version:
8.11.3 & 12.1.0 - Protractor Version:
5.4.2 - Angular Version:
6 - Browser(s):
firefox - Operating System and Version
Mac OS - v10.14.5 & Ubuntu - v18.04.1 - Your protractor configuration file
exports.config = {
directConnect: true,
//Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'firefox',
'moz:firefoxOptions': {
args: [ '--disable-gpu', '--no-sandbox'] //'--headless',
},
acceptInsecureCerts: true,
},
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
// insert test spec here
};- A relevant example test
browser.waitForAngularEnabled(false);
await browser.get("http://www.google.com")
let br2 = await browser.forkNewDriverInstance();
await br2.waitForAngularEnabled(true);
await br2.get("http://**IP here****/login", 20000);
var EC = protractor.ExpectedConditions;
let elem = br2.element(by.id('loginButton'));
await br2.wait(EC.visibilityOf(elem), 20000);
let uname = br2.element(by.css("input[id='username']"));
let pwrd = br2.element(by.css("input[id='password']"));
await elem.click();
await br2.wait(EC.visibilityOf(br2.element(by.css('.error-message'))));
await uname.sendKeys("uname");
await pwrd.sendKeys("passw");
await elem.click();
await br2.wait(EC.invisibilityOf(br2.element(by.css(".loading-icon"))));
let hdrBttn = br2.element(by.id('openDialogue'));
await br2.wait(EC.visibilityOf(hdrBttn));
await hdrBttn.click();- Output from running the test
Failed: Timed out after 11000 ms
Stack:
ScriptTimeoutError: Timed out after 11000 ms
at Object.throwDecodedError (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:514:15)
at parseHttpResponse (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:519:13)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:441:30
at processTicksAndRejections (internal/process/task_queues.js:89:5)
From: Task: Protractor.waitForAngular() - Locator: By(css selector, .loading-icon)
at Driver.schedule (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
at ProtractorBrowser.executeAsyncScript_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/built/browser.js:425:28)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/built/browser.js:456:33
at ManagedPromise.invokeCallback_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2927:27
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:668:7
at processTicksAndRejections (internal/process/task_queues.js:89:5)
From: Task: <anonymous>
at pollCondition (/home/.nvm/veiver/lib/promise.js:2195:19)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2191:7
at new ManagedPromise (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1077:7)
at ControlFlow.promise (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2505:12)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2190:22
at TaskQueue.execute_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2974:25
at /home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:668:7
at processTicksAndRejections (internal/process/task_queues.js:89:5)
From: Task: <anonymous wait>
at scheduleWait (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2188:20)
at ControlFlow.wait (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2517:12)
at Driver.wait (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:934:29)
at run (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/built/browser.js:59:33)
at ProtractorBrowser.to.<computed> [as wait] (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/built/browser.js:67:16)
at UserContext.<anonymous> (/home/path/project/est_specs/quick_test.js:53:19)
at processTicksAndRejections (internal/process/task_queues.js:89:5)
From: Task: Run it("Should Check Inheritance Logic") in control flow
at UserContext.<anonymous> (/home/.nvm/versions/node/v12.1.0/lib/node_modules/protractor/node_modules/jasminewd2/index.js:94:19)
From asynchronous test:
Error
at Suite.<anonymous> (/home/path/project/test_specs/quick_test.js:15:5)
at Object.<anonymous> (/home/path/project/test_specs/quick_test.js:7:1)- Steps to reproduce the bug
- Forked the new browser instance
- go to URL with browser2
- wait for some element on the page using browser2.wait()
- do an action that triggers a page reload/transition e.g. successful login
- attempt to wait for some element on new page using browser2.wait instance
- observe timeout and stacktrace
EXPECTED behaviour
- should be able to use .wait() and other ProtractorBrowser functions successfully with forkedInstance even after page transitions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels