nightwatchjs / nightwatch

Integrated end-to-end testing framework written in Node.js and using W3C Webdriver API. Developed at @browserstack
https://nightwatchjs.org
MIT License
11.83k stars 1.32k forks source link

npm E2E test is getting timed out when running in Docker but getting passed when running on local machine. #1756

Closed yashallen closed 6 years ago

yashallen commented 6 years ago

Image/Box : gfy94/wercker-chromium-node:v0.0.2 Docker-Selenium Image Version : node-chrome Docker Version: 17.12.1-ce, OS: Ubuntu 16.04

Hi, I'm trying to run npm E2E test in docker box (Ubuntu 16.04) with node version 6.9.3. It is running headlessly on local and all test cases are getting passed, but when I'm doing this on our local docker , it is taking much time to start and after passing few test cases it is getting stopped, due to timed out. I'm using headless chrome to run test on docker. Actually, in the end I have to run test on wercker. So, currently I'm just running it on local docker.

In nightwatch.js , these are the chrome properties :

desiredCapabilities: { javascriptEnabled: true, acceptSslCerts: true, browserName: 'chrome', chromeOptions: { args: ['headless', 'no-sandbox', 'disable-gpu','window-size=1100,800'], }, },

## Expected Behavior -

yashwant@yashwant-Inspiron-3537:~/website-node-react$ npm run test:e2e:desktop -- --tag authorised-bulk

website-node-react@1.0.0 test:e2e:desktop /home/yashwant/website-node-react APP_DEVICE='desktop' nightwatch --config nightwatch.js "--tag" "authorised-bulk"

Starting selenium server... started - PID: 8410

[Authorised Bulk] Test Suite

Running: Authorised checkout, bulk products ✔ Element <//div[@class="modal-base modal-base--after-open modal-base--sticky-top"]//p[text()="Bangalore"]> was visible after 53 milliseconds. ✔ Element //div[@tabindex="-100"]//a[text()="Bangalore"] was visible after 46 milliseconds. ✔ Element <//a[contains(text(),"Login")]> was visible after 336 milliseconds. ✔ Element //div[@role="tabpanel"]//input[@name="email"] was visible after 64 milliseconds. ✔ Element //div[@role="tabpanel"]//input[@name="password"] was visible after 47 milliseconds. ✔ Element <//button[contains(text(),"Sign In")]> was visible after 67 milliseconds. ✔ Element <(//a[starts-with(@href, "/bangalore/product")])[1]> was visible after 2781 milliseconds. Warn: WaitForElement found 4 elements for selector "//span[text()="Available in Bulk"]". Only the first one will be checked. ✔ Element <//span[text()="Available in Bulk"]> was visible after 2358 milliseconds. ✔ Element <//a[contains(text(),"Quantity:")]> was visible after 1114 milliseconds. ✔ Passed [equal]: object == object ✔ Passed [equal]: 0 == 0 ✔ Element <//button[@value = 2]> was visible after 247 milliseconds. ✔ Element <//button[text()="Buy Now"]> was visible after 370 milliseconds. ✔ Element <//div/p[contains(text(), "Order Summary")]> was visible after 1741 milliseconds. ✔ Element <//a[contains(text(),"Quantity:")]> was visible after 61 milliseconds. ✔ Passed [equal]: object == object ✔ Passed [equal]: 0 == 0 ✔ Element <//button[@value = 2]> was visible after 37 milliseconds. ✔ Element <//button[text()="PROCEED TO NEXT STEP"]> was visible after 36 milliseconds. Warn: WaitForElement found 83 elements for selector "//button[contains(text(),"DELIVER HERE")]". Only the first one will be checked. ✔ Element <//button[contains(text(),"DELIVER HERE")]> was visible after 1216 milliseconds. ✔ Element <//li[text()="Cash/Card on Delivery"]> was visible after 1664 milliseconds.

OK. 21 assertions passed. (31.36s)

## Actual Behavior -

root@7ccf6a97ea58:/website-node-react# npm run test:e2e:desktop -- --tag authorised-bulk

website-node-react@1.0.0 test:e2e:desktop /website-node-react APP_DEVICE='desktop' nightwatch --config nightwatch.js "--tag" "authorised-bulk"

Starting selenium server... started - PID: 945

[Authorised Bulk] Test Suite

Running: Authorised checkout, bulk products ✔ Element <//div[@class="modal-base modal-base--after-open modal-base--sticky-top"]//p[text()="Bangalore"]> was visible after 44 milliseconds. ✔ Element //div[@tabindex="-100"]//a[text()="Bangalore"] was visible after 47 milliseconds. ✔ Element <//a[contains(text(),"Login")]> was visible after 323 milliseconds. ✔ Element //div[@role="tabpanel"]//input[@name="email"] was visible after 41 milliseconds. ✔ Element //div[@role="tabpanel"]//input[@name="password"] was visible after 39 milliseconds. ✔ Element <//button[contains(text(),"Sign In")]> was visible after 53 milliseconds. ✖ Timed out while waiting for element <(//a[starts-with(@href, "/bangalore/product")])[1]> to be present for 10000 milliseconds. - expected "visible" but got: "not found" at Object.waitForProductVisibilty (/website-node-react/e2e/desktop/pages/home.js:19:12) at Object.Authorised checkout, bulk products (/website-node-react/e2e/desktop/tests/authorised-bulk.js:27:14)

FAILED: 1 assertions failed and 6 passed (30.476s)


TEST FAILURE: 1 assertions failed, 6 passed. (32.172s)

Please, help me out in running these test cases seamlessly on docker also.

beatfactor commented 6 years ago

Please use the Mailing List or StackOverflow to ask for assistance. The GitHub Issues list is meant for submitting bugs and feature requests.