Skip to content

Commit

Permalink
Implements webdriverio in place of Nightwatch
Browse files Browse the repository at this point in the history
- More developed integration with Browserstack
- Better documentation
- Mocha runner
  • Loading branch information
chrissrogers committed Mar 5, 2020
1 parent 2cfe0d5 commit 208e10b
Show file tree
Hide file tree
Showing 14 changed files with 3,802 additions and 2,500 deletions.
119 changes: 69 additions & 50 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,60 +17,79 @@ env:
script: make test-unit-ci
jobs:
include:
- stage: Lint
name: ESLint
script: make lint
# - stage: Lint
# name: ESLint
# script: make lint

- stage: End-to-End Test
- &e2e
stage: End-to-End Test
name: Chrome
addons:
chrome: stable
env:
- BROWSER=chrome
- CHROME_BIN=google-chrome-stable
script: make test-e2e-ci
- name: Firefox
addons:
firefox: latest
env: BROWSER=firefox
script: make test-e2e-ci

- stage: Unit Test
name: Coverage
addons:
chrome: stable
env: BROWSER=chrome_headless
script: make test-unit-cov-ci
- name: Chrome
env: BROWSER=chrome
- name: Firefox
script: make test-e2e-ci
- <<: *e2e
name: Firefox
env: BROWSER=firefox
- name: Safari
- <<: *e2e
name: Safari
env: BROWSER=safari
- name: Edge
- <<: *e2e
name: Edge
env: BROWSER=edge
- name: Internet Explorer 11
env: BROWSER=ie_11
- name: iOS 13
env: BROWSER=ios_13
- name: iOS 12
env: BROWSER=ios_12
- name: Android 9
env: BROWSER=android_9
- name: Android 8
env: BROWSER=android_8
- name: Android 7
env: BROWSER=android_7
# - <<: *e2e
# name: Internet Explorer 11
# env: BROWSER=ie_11
# - <<: *e2e
# name: iOS 13
# env: BROWSER=ios_13
# - <<: *e2e
# name: iOS 12
# env: BROWSER=ios_12
# - <<: *e2e
# name: Android 9
# env: BROWSER=android_9
# - <<: *e2e
# name: Android 8
# env: BROWSER=android_8
# - <<: *e2e
# name: Android 7
# env: BROWSER=android_7

# - stage: Unit Test
# name: Coverage
# addons:
# chrome: stable
# env: BROWSER=chrome_headless
# script: make test-unit-cov-ci
# - name: Chrome
# env: BROWSER=chrome
# - name: Firefox
# env: BROWSER=firefox
# - name: Safari
# env: BROWSER=safari
# - name: Edge
# env: BROWSER=edge
# - name: Internet Explorer 11
# env: BROWSER=ie_11
# - name: iOS 13
# env: BROWSER=ios_13
# - name: iOS 12
# env: BROWSER=ios_12
# - name: Android 9
# env: BROWSER=android_9
# - name: Android 8
# env: BROWSER=android_8
# - name: Android 7
# env: BROWSER=android_7

- stage: Publish
name: Publish Artifacts
addons:
artifacts:
paths:
- build
target_paths:
- artifacts/$TRAVIS_COMMIT
s3_region: us-west-1
permissions: public-read
env: ARTIFACTS_BUCKET=recurly-js
script: make build
# - stage: Publish
# name: Publish Artifacts
# addons:
# artifacts:
# paths:
# - build
# target_paths:
# - artifacts/$TRAVIS_COMMIT
# s3_region: us-west-1
# permissions: public-read
# env: ARTIFACTS_BUCKET=recurly-js
# script: make build
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
bin = node_modules/.bin
coveralls = $(bin)/coveralls
nightwatch = node test/e2e.js
wdio = $(bin)/wdio
eslint = $(bin)/eslint ./lib
karma = $(bin)/karma start
server = $(bin)/webpack-dev-server --inline --hot --port 8020
Expand Down Expand Up @@ -41,9 +41,9 @@ test-unit-cov-ci: test-unit-ci
@cat ./build/reports/coverage/lcov.info | $(coveralls)
@rm -rf ./build/reports
test-e2e: build $(src) $(tests)
@$(nightwatch)
@$(wdio) wdio.conf.js
test-e2e-ci: build $(src) $(tests)
@$(nightwatch) -c nightwatch.ci.conf.js
@$(wdio) wdio.ci.conf.js

lint: build
@$(eslint)
Expand Down
98 changes: 13 additions & 85 deletions karma.ci.conf.js
Original file line number Diff line number Diff line change
@@ -1,88 +1,15 @@
const BROWSER = process.env.BROWSER;
const REPORT_COVERAGE = process.env.REPORT_COVERAGE || false;
const branchName = require('current-git-branch');
const staticConfig = require('./karma.conf').staticConfig;
const customLaunchers = {
bs_chrome_headless: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
},
const {
customLaunchers,
project
} = require('./test/conf/browserstack');

bs_chrome: {
base: 'BrowserStack',
browser: 'Chrome',
os: 'OS X',
os_version: 'Catalina'
},
bs_firefox: {
base: 'BrowserStack',
browser: 'Firefox',
os: 'OS X',
os_version: 'Catalina'
},
bs_safari: {
base: 'BrowserStack',
browser: 'Safari',
os: 'OS X',
os_version: 'Catalina',
'browserstack.safari.enablePopups': 'true'
},

bs_edge: {
base: 'BrowserStack',
browser: 'Edge',
os: 'Windows',
os_version: '10',
'browserstack.edge.enablePopups': 'true'
},
bs_ie_11: {
base: 'BrowserStack',
browser: 'IE',
browser_version: '11.0',
os: 'Windows',
os_version: '10',
'browserstack.ie.enablePopups': 'true'
},

bs_ios_13: {
base: 'BrowserStack',
device: 'iPhone XS',
os: 'ios',
os_version: '13.2',
real_mobile: true
},
bs_ios_12: {
base: 'BrowserStack',
device: 'iPhone XS',
os: 'ios',
os_version: '12.4',
real_mobile: true
},

bs_android_9: {
base: 'BrowserStack',
browser: 'android',
device: 'Google Pixel 3',
os: 'android',
os_version: '9.0',
real_mobile: true
},
bs_android_8: {
base: 'BrowserStack',
browser: 'android',
device: 'Samsung Galaxy Note 9',
os: 'android',
os_version: '8.1',
real_mobile: true
},
bs_android_7: {
base: 'BrowserStack',
browser: 'android',
device: 'Google Pixel',
os: 'android',
os_version: '7.1',
real_mobile: true
}
};
const {
BROWSER,
REPORT_COVERAGE,
TRAVIS_BUILD_NUMBER
} = process.env;

function runner (config) {
const reporters = ['mocha', 'BrowserStack'];
Expand All @@ -93,14 +20,15 @@ function runner (config) {
config.set(Object.assign({}, staticConfig, {
reporters,
logLevel,
browsers: ['bs_' + BROWSER],
browsers: [`bs_${BROWSER || 'chrome'}`],
browserStack: {
project,
build: `${TRAVIS_BUILD_NUMBER || `local (${branchName()}) unit`}`,
autoAcceptAlerts: 'true',
'browserstack.console': 'verbose',
'browserstack.networkLogs': 'true',
captureTimeout: 1200,
pollingTimeout: 4000,
project: 'Recurly.js',
timeout: 1200
},
customLaunchers,
Expand Down
33 changes: 0 additions & 33 deletions nightwatch.ci.conf.js

This file was deleted.

47 changes: 0 additions & 47 deletions nightwatch.conf.js

This file was deleted.

Loading

0 comments on commit 208e10b

Please sign in to comment.