From c169f6ef50ae61063c18d72c4eee9ebc0def68e6 Mon Sep 17 00:00:00 2001 From: Marcial Rosales Date: Tue, 31 Oct 2023 12:55:31 +0100 Subject: [PATCH 1/3] Fix issue in run-scripts --- deps/rabbitmq_management/selenium/run-suites.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/deps/rabbitmq_management/selenium/run-suites.sh b/deps/rabbitmq_management/selenium/run-suites.sh index abc7f7b674..e73aa2988b 100755 --- a/deps/rabbitmq_management/selenium/run-suites.sh +++ b/deps/rabbitmq_management/selenium/run-suites.sh @@ -11,9 +11,11 @@ NC='\033[0m' SUCCESSFUL_SUITES=() FAILED_SUITES=() -cat $SCRIPT/$SUITE_FILE | sort | while read SUITE +TOTAL_SUITES=`wc -l $SCRIPT/$SUITE_FILE | awk '{print $1}'` + +while read SUITE do - echo "=== Running suite $SUITE ============================================" + echo -e "=== Running suite (${TOTAL_SUITES}/${GREEN}${#SUCCESSFUL_SUITES[@]}/${RED}${#FAILED_SUITES[@]}${NC}) $SUITE ============================================" echo " " ENV_MODES="docker" $SCRIPT/suites/$SUITE TEST_RESULT="$?" @@ -28,9 +30,9 @@ do fi echo -e "=== $TEST_STATUS $SUITE ===========================================" echo " " -done +done <<< "$(cat $SCRIPT/$SUITE_FILE | sort)" -echo "=== Summary ============================================" +echo -e "=== Summary (${TOTAL_SUITES}/${GREEN}${#SUCCESSFUL_SUITES[@]}/${RED}${#FAILED_SUITES[@]}${NC}) ============================================" if [ ${#SUCCESSFUL_SUITES[@]} -gt 0 ]; then echo -e " > ${GREEN}Successful suites ${NC}"; fi for f in ${SUCCESSFUL_SUITES[@]} do @@ -43,4 +45,5 @@ do echo " - $f" done +echo "Terminating with $OVERALL_TEST_RESULT" exit $OVERALL_TEST_RESULT From b409d979270943adbac430904b24c1e317a5a1d3 Mon Sep 17 00:00:00 2001 From: Marcial Rosales Date: Tue, 31 Oct 2023 14:07:38 +0100 Subject: [PATCH 2/3] Bump up chromedriver version --- deps/rabbitmq_management/selenium/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/rabbitmq_management/selenium/package.json b/deps/rabbitmq_management/selenium/package.json index dcc9321460..7a6ddb5a1d 100644 --- a/deps/rabbitmq_management/selenium/package.json +++ b/deps/rabbitmq_management/selenium/package.json @@ -13,9 +13,9 @@ "author": "", "license": "ISC", "dependencies": { - "chromedriver": "^115.0.0", + "chromedriver": "^118.0.0", "ejs": "^3.1.8", - "express": "^4.18.2", + "express": "^4.18.2", "geckodriver": "^3.0.2", "http-proxy": "^1.18.1", "path": "^0.12.7", From 7c5864994205aa8031da345e3b87ab4ed8f7cb63 Mon Sep 17 00:00:00 2001 From: Marcial Rosales Date: Tue, 31 Oct 2023 16:31:37 +0100 Subject: [PATCH 3/3] Reduce by 5 seconds every oauth2 test clickToLogin sbould only check that the login button exists and not that the warning messages is not visible --- .../selenium/test/oauth/with-sp-initiated/logout.js | 3 ++- .../selenium/test/pageobjects/BasePage.js | 5 ++++- .../selenium/test/pageobjects/SSOHomePage.js | 4 ++-- deps/rabbitmq_management/selenium/test/utils.js | 4 ++++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/deps/rabbitmq_management/selenium/test/oauth/with-sp-initiated/logout.js b/deps/rabbitmq_management/selenium/test/oauth/with-sp-initiated/logout.js index cfcdada50b..babd0e40b3 100644 --- a/deps/rabbitmq_management/selenium/test/oauth/with-sp-initiated/logout.js +++ b/deps/rabbitmq_management/selenium/test/oauth/with-sp-initiated/logout.js @@ -1,7 +1,7 @@ const { By, Key, until, Builder } = require('selenium-webdriver') require('chromedriver') const assert = require('assert') -const { buildDriver, goToHome, captureScreensFor, teardown } = require('../../utils') +const { buildDriver, goToHome, captureScreensFor, teardown, log } = require('../../utils') const SSOHomePage = require('../../pageobjects/SSOHomePage') const UAALoginPage = require('../../pageobjects/UAALoginPage') @@ -27,6 +27,7 @@ describe('When a logged in user', function () { await overview.isLoaded() await overview.logout() await homePage.isLoaded() + }) after(async function () { diff --git a/deps/rabbitmq_management/selenium/test/pageobjects/BasePage.js b/deps/rabbitmq_management/selenium/test/pageobjects/BasePage.js index b07520c243..1b3b226af9 100644 --- a/deps/rabbitmq_management/selenium/test/pageobjects/BasePage.js +++ b/deps/rabbitmq_management/selenium/test/pageobjects/BasePage.js @@ -22,7 +22,7 @@ module.exports = class BasePage { this.driver = webdriver // this is another timeout (--timeout 10000) which is the maximum test execution time this.timeout = parseInt(process.env.TIMEOUT) || 5000 // max time waiting to locate an element. Should be less that test timeout - this.polling = parseInt(process.env.POLLING) || 1000 // how frequent selenium searches for an element + this.polling = parseInt(process.env.POLLING) || 500 // how frequent selenium searches for an element } async isLoaded () { @@ -181,6 +181,9 @@ module.exports = class BasePage { await this.driver.sleep(250) return alert.accept(); } + log(message) { + console.log(new Date() + " " + message) + } capture () { this.driver.takeScreenshot().then( diff --git a/deps/rabbitmq_management/selenium/test/pageobjects/SSOHomePage.js b/deps/rabbitmq_management/selenium/test/pageobjects/SSOHomePage.js index 22e127b73b..33dd4637fd 100644 --- a/deps/rabbitmq_management/selenium/test/pageobjects/SSOHomePage.js +++ b/deps/rabbitmq_management/selenium/test/pageobjects/SSOHomePage.js @@ -12,7 +12,7 @@ module.exports = class SSOHomePage extends BasePage { async clickToLogin () { await this.isLoaded() - if (!await this.isWarningVisible()) { + if (await this.waitForDisplayed(LOGIN_BUTTON)) { return this.click(LOGIN_BUTTON) } else { this.capture() @@ -27,7 +27,7 @@ module.exports = class SSOHomePage extends BasePage { async isWarningVisible () { try { - await this.getText(WARNING) + await this.waitForDisplayed(WARNING) return Promise.resolve(true) } catch (e) { return Promise.resolve(false) diff --git a/deps/rabbitmq_management/selenium/test/utils.js b/deps/rabbitmq_management/selenium/test/utils.js index ae08f5ed5b..1c5eb56bc7 100644 --- a/deps/rabbitmq_management/selenium/test/utils.js +++ b/deps/rabbitmq_management/selenium/test/utils.js @@ -32,6 +32,10 @@ class CaptureScreenshot { } module.exports = { + log: (message) => { + console.log(new Date() + " " + message) + }, + buildDriver: (caps) => { builder = new Builder() if (!runLocal) {