diff --git a/README.md b/README.md index 653776e4..40e2148a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,15 @@ Check [Quick start](#quick-start) how to run them. ### Running Browserstack tests Tests are setting the cookies on eTLD+1 domain. For that, execute this command once: -```echo "127.0.0.1 bln.test.liveintent.com" | sudo tee -a /etc/hosts && echo "127.0.0.1 test.liveintent.com" | sudo tee -a /etc/hosts && echo "127.0.0.1 me.idex.com" | sudo tee -a /etc/hosts``` +```shell +echo "127.0.0.1 bln.test.liveintent.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 test.liveintent.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 me.idex.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 schmoogle.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 framed.test.liveintent.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 double-framed.test.liveintent.com" | sudo tee -a /etc/hosts +echo "127.0.0.1 baked.liveintent.com" | sudo tee -a /etc/hosts +``` Add Browserstack keys to your env, where the setup would be as follows: ``` @@ -40,7 +48,7 @@ key: process.env.BS_KEY, or, to run Browserstack tests locally, run: ```BS_USER=${User} BS_KEY=${Key} npm run test:it:browserstack``` -The browsers used in these tests are defined in `test-config/wdio.browserstack.conf.mjs` and should correlate to the transpiled code for supported browsers, listed in `.browserslistrc`. +The browsers used in these tests are defined in `test-config/wdio.browserstack.conf.js` and should correlate to the transpiled code for supported browsers, listed in `.browserslistrc`. ___ ## Main concepts diff --git a/package.json b/package.json index e4b9dd64..780cccbd 100644 --- a/package.json +++ b/package.json @@ -32,9 +32,9 @@ "scripts": { "test:unit": "npm run lint && ts-mocha -p ./tsconfig-test.json --config test-config/mocha.unit.json", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", - "test:it:browserstack": "npm run build-test-resources && wdio test-config/wdio.browserstack.conf.mjs", - "test:it:docker:chrome": "npm run build-test-resources && wdio test-config/wdio.docker.chrome.conf.mjs", - "test:it:local:chrome": "npm run build-test-resources && wdio test-config/wdio.local.chrome.conf.mjs", + "test:it:browserstack": "npm run build-test-resources && wdio test-config/wdio.browserstack.conf.js", + "test:it:docker:chrome": "npm run build-test-resources && wdio test-config/wdio.docker.chrome.conf.js", + "test:it:local:chrome": "npm run build-test-resources && wdio test-config/wdio.local.chrome.conf.js", "build": "rollup -c rollup/dist.config.mjs", "build-test-resources": "rollup -c rollup/test-resources.config.mjs", "lint": "eslint 'src/**/*.ts' 'test/**/*.ts'", diff --git a/test-config/wdio.browserstack.conf.mjs b/test-config/wdio.browserstack.conf.js similarity index 89% rename from test-config/wdio.browserstack.conf.mjs rename to test-config/wdio.browserstack.conf.js index 459d83ff..4b24b015 100644 --- a/test-config/wdio.browserstack.conf.mjs +++ b/test-config/wdio.browserstack.conf.js @@ -1,4 +1,5 @@ -import commonConfig from './wdio.common.conf.mjs' +// eslint-disable-next-line @typescript-eslint/no-var-requires +const commonConfig = require('./wdio.common.conf.js') const currentTime = Date.now() const commonBStackCapabilities = { projectName: 'LiveConnect', @@ -10,30 +11,30 @@ const commonBStackCapabilities = { // https://www.browserstack.com/automate/capabilities const allCapabilities = [ - { browserName: 'Chrome', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10'}}, - { browserName: 'Chrome', browserVersion: '40.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '7' }}, - { browserName: 'firefox', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10' }}, - { browserName: 'firefox', browserVersion: '52.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '7' }}, - { browserName: 'IE', browserVersion: '11.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10', seleniumVersion: "3.5.2" }}, - { browserName: 'Edge', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10' }}, + { browserName: 'Chrome', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10' } }, + { browserName: 'Chrome', browserVersion: '40.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '7' } }, + { browserName: 'firefox', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10' } }, + { browserName: 'firefox', browserVersion: '52.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '7' } }, + { browserName: 'IE', browserVersion: '11.0', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10', seleniumVersion: '3.5.2' } }, + { browserName: 'Edge', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, os: 'Windows', osVersion: '10' } }, - { browserName: 'Safari', browserVersion: '14.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Big Sur' }}, - { browserName: 'Safari', browserVersion: '13.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Catalina' }}, - { browserName: 'Safari', browserVersion: '12.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Mojave' }}, - { browserName: 'Safari', browserVersion: '11.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'High Sierra' }}, - { browserName: 'Safari', browserVersion: '10.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Sierra' }}, + { browserName: 'Safari', browserVersion: '14.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Big Sur' } }, + { browserName: 'Safari', browserVersion: '13.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Catalina' } }, + { browserName: 'Safari', browserVersion: '12.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Mojave' } }, + { browserName: 'Safari', browserVersion: '11.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'High Sierra' } }, + { browserName: 'Safari', browserVersion: '10.1', 'bstack:options': { ...commonBStackCapabilities, os: 'OS X', osVersion: 'Sierra' } }, - { browserName: 'Safari', browserVersion: '15.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 11 Pro', osVersion: '15 Beta', realMobile: true }}, - { browserName: 'Safari', browserVersion: '14.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 12', osVersion: '14', realMobile: true }}, - { browserName: 'Safari', browserVersion: '13.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 11', osVersion: '13', realMobile: true }}, - { browserName: 'Safari', browserVersion: '12.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 8', osVersion: '12', realMobile: true }}, - { browserName: 'Safari', browserVersion: '11.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPad Pro 9.7 2016', osVersion: '11', realMobile: true }}, + { browserName: 'Safari', browserVersion: '15.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 11 Pro', osVersion: '15 Beta', realMobile: true } }, + { browserName: 'Safari', browserVersion: '14.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 12', osVersion: '14', realMobile: true } }, + { browserName: 'Safari', browserVersion: '13.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 11', osVersion: '13', realMobile: true } }, + { browserName: 'Safari', browserVersion: '12.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPhone 8', osVersion: '12', realMobile: true } }, + { browserName: 'Safari', browserVersion: '11.0', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'iPad Pro 9.7 2016', osVersion: '11', realMobile: true } }, - { browserName: 'Chrome', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'Samsung Galaxy S21', osVersion: '11.0', realMobile: true }}, - { browserName: 'Chrome', browserVersion: '67', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'Samsung Galaxy S8', osVersion: '7.0', realMobile: true }} + { browserName: 'Chrome', browserVersion: 'latest', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'Samsung Galaxy S21', osVersion: '11.0', realMobile: true } }, + { browserName: 'Chrome', browserVersion: '67', 'bstack:options': { ...commonBStackCapabilities, deviceName: 'Samsung Galaxy S8', osVersion: '7.0', realMobile: true } } ] -export const config = { +exports.config = { ...commonConfig('browserstack'), // // If you have trouble getting all important capabilities together, check out the @@ -98,4 +99,3 @@ export const config = { // The number of times to retry the entire specfile when it fails as a whole specFileRetries: 2 } - diff --git a/test-config/wdio.common.conf.mjs b/test-config/wdio.common.conf.js similarity index 99% rename from test-config/wdio.common.conf.mjs rename to test-config/wdio.common.conf.js index 22a0bb61..7e062df4 100644 --- a/test-config/wdio.common.conf.mjs +++ b/test-config/wdio.common.conf.js @@ -1,4 +1,4 @@ -export default reportDir => ({ +module.exports = reportDir => ({ // // ==================== // Runner Configuration diff --git a/test-config/wdio.docker.chrome.conf.mjs b/test-config/wdio.docker.chrome.conf.js similarity index 92% rename from test-config/wdio.docker.chrome.conf.mjs rename to test-config/wdio.docker.chrome.conf.js index d77479fb..d9d63c4a 100644 --- a/test-config/wdio.docker.chrome.conf.mjs +++ b/test-config/wdio.docker.chrome.conf.js @@ -1,4 +1,5 @@ -import common from './wdio.common.conf.mjs' +// eslint-disable-next-line @typescript-eslint/no-var-requires +const common = require('./wdio.common.conf.js') export const config = { ...common('docker'), diff --git a/test-config/wdio.local.chrome.conf.mjs b/test-config/wdio.local.chrome.conf.js similarity index 91% rename from test-config/wdio.local.chrome.conf.mjs rename to test-config/wdio.local.chrome.conf.js index 76c2c1c4..7cbbc76e 100644 --- a/test-config/wdio.local.chrome.conf.mjs +++ b/test-config/wdio.local.chrome.conf.js @@ -1,6 +1,7 @@ -import common from './wdio.common.conf.mjs' +// eslint-disable-next-line @typescript-eslint/no-var-requires +const common = require('./wdio.common.conf.js') -export const config = { +exports.config = { ...common('local'), hostname: 'localhost', port: 9090,