diff --git a/ci/browser_tests_chrome.sh b/ci/browser_tests_chrome.sh index c5642f7832..5430bdb2b4 100755 --- a/ci/browser_tests_chrome.sh +++ b/ci/browser_tests_chrome.sh @@ -22,7 +22,9 @@ setupRemixd sleep 5 TESTFILES=$(circleci tests glob "./test-browser/tests/**/*.test.js" | circleci tests split --split-by=timings) -npm run nightwatch_local_chrome $TESTFILES +for TESTFILE in $TESTFILES; do + ./node_modules/.bin/nightwatch --config nightwatch.js --env chrome $TESTFILE || TEST_EXITCODE=1 +done echo "$TEST_EXITCODE" if [ "$TEST_EXITCODE" -eq 1 ] diff --git a/ci/browser_tests_firefox.sh b/ci/browser_tests_firefox.sh index 89abb5d2b7..8ba2bacf06 100755 --- a/ci/browser_tests_firefox.sh +++ b/ci/browser_tests_firefox.sh @@ -22,7 +22,9 @@ setupRemixd sleep 5 TESTFILES=$(circleci tests glob "./test-browser/tests/**/*.test.js" | circleci tests split --split-by=timings) -npm run nightwatch_local_firefox $TESTFILES +for TESTFILE in $TESTFILES; do + ./node_modules/.bin/nightwatch --config nightwatch.js --env firefox $TESTFILE || TEST_EXITCODE=1 +done echo "$TEST_EXITCODE" if [ "$TEST_EXITCODE" -eq 1 ] diff --git a/test-browser/commands/clickLaunchIcon.js b/test-browser/commands/clickLaunchIcon.js index 6774813b20..850c0d0197 100644 --- a/test-browser/commands/clickLaunchIcon.js +++ b/test-browser/commands/clickLaunchIcon.js @@ -2,7 +2,8 @@ const EventEmitter = require('events') class ClickLaunchIcon extends EventEmitter { command (icon) { - this.api.waitForElementVisible('#icon-panel div[plugin="' + icon + '"]').click('#icon-panel div[plugin="' + icon + '"]').perform(() => { + this.api.waitForElementVisible('#icon-panel div[plugin="' + icon + '"]').click('#icon-panel div[plugin="' + icon + '"]').perform((done) => { + done() this.emit('complete') }) return this diff --git a/test-browser/helpers/init.js b/test-browser/helpers/init.js index c4341a362b..0a2ffa702b 100644 --- a/test-browser/helpers/init.js +++ b/test-browser/helpers/init.js @@ -14,27 +14,24 @@ module.exports = function (browser, callback, url, preloadPlugins = true) { .execute(() => { document.getElementById('autoCompile').click() }) - .perform(function () { - callback() - }) }) - } else callback() + } }) }) + .perform(() => { + callback() + }) } function initModules (browser, callback) { browser.pause(5000) - .click('#icon-panel div[plugin="pluginManager"]') - .scrollAndClick('#pluginManager article[id="remixPluginManagerListItem_solidity"] button') - .pause(5000) - .scrollAndClick('#pluginManager article[id="remixPluginManagerListItem_udapp"] button') - .scrollAndClick('#pluginManager article[id="remixPluginManagerListItem_solidityStaticAnalysis"] button') - .scrollAndClick('#pluginManager article[id="remixPluginManagerListItem_debugger"] button') - .scrollAndClick('#icon-panel div[plugin="fileExplorers"]') + .click('[data-id="verticalIconsKindpluginManager"]') + .scrollAndClick('[data-id="pluginManagerComponentActivateButtonsolidityStaticAnalysis"]') + .scrollAndClick('[data-id="pluginManagerComponentActivateButtondebugger"]') + .scrollAndClick('[data-id="verticalIconsKindfileExplorers"]') .clickLaunchIcon('settings') - .setValue('#gistaccesstoken', process.env.gist_token) - .click('#savegisttoken') - .click('#settingsView #Flatly') // e2e tests were initially developed with Flatly. Some tests are failing with the default one (Dark), because the dark theme put uppercase everywhere. + .setValue('[data-id="settingsTabGistAccessToken"]', process.env.gist_token) + .click('[data-id="settingsTabSaveGistToken"]') + .click('[data-id="settingsTabThemeFlatly"]') // e2e tests were initially developed with Flatly. Some tests are failing with the default one (Dark), because the dark theme put uppercase everywhere. .perform(() => { callback() }) } diff --git a/test-browser/tests/usingWebWorker.test.js b/test-browser/tests/usingWebWorker.test.js index c59da319d3..daf12b422a 100644 --- a/test-browser/tests/usingWebWorker.test.js +++ b/test-browser/tests/usingWebWorker.test.js @@ -23,7 +23,7 @@ module.exports = { .execute(() => { document.getElementById('nightlies').checked = true }) - .noWorkerErrorFor('soljson-v0.3.4+commit.7dab890.js') + .noWorkerErrorFor('soljson-v0.3.4+commit.7dab8902.js') .noWorkerErrorFor('soljson-v0.6.5+commit.f956cc89.js') .noWorkerErrorFor('soljson-v0.6.8-nightly.2020.5.14+commit.a6d0067b.js') .noWorkerErrorFor('soljson-v0.6.0-nightly.2019.12.17+commit.d13438ee.js') @@ -31,6 +31,7 @@ module.exports = { .execute(() => { document.getElementById('nightlies').checked = false }) + .end() }, tearDown: sauce