You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I am using sitespeed.io to measure our application performance. It requires login before visiting urls. I have written preScript to login. But that preScript executes before each url which should not happen. Can you please guide me how to control this. Following is the docker command and console out I got.
bold numbers are console outs for debugging.
docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io --preScript preRequisites.js urls.txt -b chrome --browsertime.pageLoadStrategy normal --browsertime.videoParams.combine -n 1 --speedIndex --video
Google Chrome 68.0.3440.75
Mozilla Firefox 61.0
[2018-08-01 05:44:05] INFO: Versions OS: linux 4.9.93-linuxkit-aufs nodejs: v8.11.1 sitespeed.io: 7.3.5 browsertime: 3.2.3 coach: 2.0.6
[2018-08-01 05:44:05] INFO: Starting chrome for analysing https://cde-mss-web-qa.aws.na.sysco.net/app/my-products 1 time(s)
[2018-08-01 05:44:05] INFO: Testing url https://cde-mss-web-qa.aws.na.sysco.net/app/my-products iteration 1 0 1 2 3 4 5 6
[2018-08-01 05:46:58] ERROR: TimeoutError: Waiting for element to be located By(xpath, //div[contains(@Class,"mss-customer-info-card")])
Wait timed out after 30004ms
Wait timed out after 30004ms
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2201:17
at ManagedPromise.invokeCallback_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: Waiting for element to be located By(xpath, //div[contains(@Class,"mss-customer-info-card")])
at scheduleWait (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2188:20)
at ControlFlow.wait (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2517:12)
at Driver.wait (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:934:29)
at driver.findElement.sendKeys.then.then.then.then.then.then (/sitespeed.io/preRequisites.js:32:17)
at ManagedPromise.invokeCallback (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
[2018-08-01 05:46:58] INFO: 0
[2018-08-01 05:46:58] INFO: Starting chrome for analysing https://cde-mss-web-qa.aws.na.sysco.net/app/catalog 1 time(s)
[2018-08-01 05:46:58] INFO: Testing url https://cde-mss-web-qa.aws.na.sysco.net/app/catalog iteration 1 0
[2018-08-01 05:49:07] ERROR: NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name="username"]"}
(Session info: chrome=68.0.3440.75)
(Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.9.93-linuxkit-aufs x86_64)
(Session info: chrome=68.0.3440.75)
(Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.9.93-linuxkit-aufs x86_64)
at Object.checkLegacyResponse (/usr/src/app/node_modules/selenium-webdriver/lib/error.js:546:15)
at parseHttpResponse (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:441:30)
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.findElement(By(css selector, *[name="username"]))
at Driver.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
at Driver.findElement (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:1014:17)
at driver.get.then (/sitespeed.io/preRequisites.js:13:25)
at ManagedPromise.invokeCallback (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebElement.sendKeys()
at Driver.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
at WebElementPromise.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:2010:25)
at WebElementPromise.sendKeys (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:2174:19)
at driver.get.then (/sitespeed.io/preRequisites.js:13:58)
at ManagedPromise.invokeCallback_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process._tickCallback (internal/process/next_tick.js:188:7)
The text was updated successfully, but these errors were encountered:
So if you test multiple URLs, it will always run the preScript per run per URL. If you need to have different preScripts per URL you either need to design your preScript to handle that start sitespeed.io once per URL you test.
hi @soulgalore
Thanks for the quick reply. My requirement was to test multiple pages of same application. That's why I had above requirement. I have overcome my issue by adding a postScript. Thank you again.
Hi,
I am using sitespeed.io to measure our application performance. It requires login before visiting urls. I have written preScript to login. But that preScript executes before each url which should not happen. Can you please guide me how to control this. Following is the docker command and console out I got.
bold numbers are console outs for debugging.
docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io --preScript preRequisites.js urls.txt -b chrome --browsertime.pageLoadStrategy normal --browsertime.videoParams.combine -n 1 --speedIndex --video
Google Chrome 68.0.3440.75
Mozilla Firefox 61.0
[2018-08-01 05:44:05] INFO: Versions OS: linux 4.9.93-linuxkit-aufs nodejs: v8.11.1 sitespeed.io: 7.3.5 browsertime: 3.2.3 coach: 2.0.6
[2018-08-01 05:44:05] INFO: Starting chrome for analysing https://cde-mss-web-qa.aws.na.sysco.net/app/my-products 1 time(s)
[2018-08-01 05:44:05] INFO: Testing url https://cde-mss-web-qa.aws.na.sysco.net/app/my-products iteration 1
0
1
2
3
4
5
6
[2018-08-01 05:46:58] ERROR: TimeoutError: Waiting for element to be located By(xpath, //div[contains(@Class,"mss-customer-info-card")])
Wait timed out after 30004ms
Wait timed out after 30004ms
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2201:17
at ManagedPromise.invokeCallback_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: Waiting for element to be located By(xpath, //div[contains(@Class,"mss-customer-info-card")])
at scheduleWait (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2188:20)
at ControlFlow.wait (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2517:12)
at Driver.wait (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:934:29)
at driver.findElement.sendKeys.then.then.then.then.then.then (/sitespeed.io/preRequisites.js:32:17)
at ManagedPromise.invokeCallback (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
[2018-08-01 05:46:58] INFO: 0
[2018-08-01 05:46:58] INFO: Starting chrome for analysing https://cde-mss-web-qa.aws.na.sysco.net/app/catalog 1 time(s)
[2018-08-01 05:46:58] INFO: Testing url https://cde-mss-web-qa.aws.na.sysco.net/app/catalog iteration 1
0
[2018-08-01 05:49:07] ERROR: NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name="username"]"}
(Session info: chrome=68.0.3440.75)
(Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.9.93-linuxkit-aufs x86_64)
(Session info: chrome=68.0.3440.75)
(Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.9.93-linuxkit-aufs x86_64)
at Object.checkLegacyResponse (/usr/src/app/node_modules/selenium-webdriver/lib/error.js:546:15)
at parseHttpResponse (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:441:30)
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.findElement(By(css selector, *[name="username"]))
at Driver.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
at Driver.findElement (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:1014:17)
at driver.get.then (/sitespeed.io/preRequisites.js:13:25)
at ManagedPromise.invokeCallback (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process.tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebElement.sendKeys()
at Driver.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:807:17)
at WebElementPromise.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:2010:25)
at WebElementPromise.sendKeys (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:2174:19)
at driver.get.then (/sitespeed.io/preRequisites.js:13:58)
at ManagedPromise.invokeCallback_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
at TaskQueue.execute_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
at TaskQueue.executeNext_ (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
at asyncRun (/usr/src/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
at /usr/src/app/node_modules/selenium-webdriver/lib/promise.js:668:7
at
at process._tickCallback (internal/process/next_tick.js:188:7)
The text was updated successfully, but these errors were encountered: