diff --git a/.circleci/config.yml b/.circleci/config.yml index e039d6d06..507706803 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,9 @@ integration_job: &integration_job environment: <<: *integration_environment docker: - - image: circleci/node:8-browsers + # TODO: replace with node:8-browsers when build issues are resolved. + # - image: circleci/node:8-browsers + - image: coralproject/ci - image: circleci/mongo:3 - image: circleci/redis:4-alpine steps: @@ -32,6 +34,10 @@ integration_job: &integration_job - store_test_results: when: always path: /tmp/circleci-test-results + - store_artifacts: + when: always + path: /tmp/circleci-test-results + version: 2 jobs: @@ -239,10 +245,11 @@ workflows: <<: *filter_develop requires: - build_assets - - test_integration_firefox_local: - <<: *filter_develop - requires: - - build_assets + # TODO: uncomment when more reliable + # - test_integration_firefox_local: + # <<: *filter_develop + # requires: + # - build_assets deploy-tagged: jobs: - npm_dependencies: diff --git a/.circleci/e2e.sh b/.circleci/e2e.sh index 2d9fc25af..826736bfc 100755 --- a/.circleci/e2e.sh +++ b/.circleci/e2e.sh @@ -23,7 +23,7 @@ if [[ "$BROWSERSTACK" == "true" && -n "$BROWSERSTACK_KEY" ]]; then echo Testing on browserstack node scripts/e2e.js --reports-folder "$REPORTS_FOLDER" --retries "$E2E_MAX_RETRIES" --timeout "$E2E_WAIT_FOR_TIMEOUT" --browsers "$E2E_BROWSERS" --browserstack else - # When browserstack is not available test locally using chrome headless. + # When browserstack is not available test locally. echo Testing locally node scripts/e2e.js --reports-folder "$REPORTS_FOLDER" --retries "$E2E_MAX_RETRIES" --timeout "$E2E_WAIT_FOR_TIMEOUT" --browsers "$E2E_BROWSERS" --headless fi diff --git a/nightwatch-browserstack.conf.js b/nightwatch-browserstack.conf.js index 961d50b4e..1bd62574c 100644 --- a/nightwatch-browserstack.conf.js +++ b/nightwatch-browserstack.conf.js @@ -1,8 +1,10 @@ const { ROOT_URL } = require('./config'); +const REPORTS_FOLDER = process.env.REPORTS_FOLDER || './test/e2e/reports'; + const nightwatch_config = { src_folders: './test/e2e/specs/', - output_folder: process.env.REPORTS_FOLDER || './test/e2e/reports', + output_folder: REPORTS_FOLDER, page_objects_path: './test/e2e/page_objects', globals_path: './test/e2e/globals', @@ -34,7 +36,7 @@ const nightwatch_config = { enabled: true, on_failure: true, on_error: true, - path: process.env.REPORTS_FOLDER || './test/e2e/reports', + path: REPORTS_FOLDER, }, }, chrome: { diff --git a/nightwatch.conf.js b/nightwatch.conf.js index 76a5c291b..75dfa5ef6 100644 --- a/nightwatch.conf.js +++ b/nightwatch.conf.js @@ -1,15 +1,17 @@ const { ROOT_URL } = require('./config'); +const REPORTS_FOLDER = process.env.REPORTS_FOLDER || './test/e2e/reports'; + module.exports = { src_folders: './test/e2e/specs/', - output_folder: process.env.REPORTS_FOLDER || './test/e2e/reports', + output_folder: REPORTS_FOLDER, page_objects_path: './test/e2e/page_objects', globals_path: './test/e2e/globals', selenium: { start_process: true, server_path: 'node_modules/selenium-standalone/.selenium/selenium-server/3.7.1-server.jar', - log_path: './test/e2e/', + log_path: REPORTS_FOLDER, host: '127.0.0.1', port: 6666, cli_args: { @@ -26,7 +28,6 @@ module.exports = { selenium_host: 'localhost', silent: true, desiredCapabilities: { - browserName: 'chrome', javascriptEnabled: true, acceptSslCerts: true, webStorageEnabled: true, @@ -38,19 +39,30 @@ module.exports = { enabled: true, on_failure: true, on_error: true, - path: process.env.REPORTS_FOLDER || './test/e2e/reports', + path: REPORTS_FOLDER, + }, + }, + chrome: { + desiredCapabilities: { + browserName: 'chrome', }, }, - chrome: {}, 'chrome-headless': { desiredCapabilities: { + browserName: 'chrome', chromeOptions: { args: ['--headless', '--disable-gpu', 'window-size=1600,1200'], }, }, }, + firefox: { + desiredCapabilities: { + browserName: 'firefox', + }, + }, 'firefox-headless': { desiredCapabilities: { + browserName: 'firefox', 'moz:firefoxOptions': { args: ['-headless'], },