Commit 0b3f8e77 authored by yann300's avatar yann300

fix e2e test

parent 2a3ab6c3
...@@ -21,13 +21,13 @@ setupRemixd ...@@ -21,13 +21,13 @@ setupRemixd
sleep 5 sleep 5
npm run nightwatch_local_generalSettings || TEST_EXITCODE=1
npm run nightwatch_local_ballot || TEST_EXITCODE=1 npm run nightwatch_local_ballot || TEST_EXITCODE=1
npm run nightwatch_local_gist || TEST_EXITCODE=1 npm run nightwatch_local_gist || TEST_EXITCODE=1
npm run nightwatch_local_workspace || TEST_EXITCODE=1 npm run nightwatch_local_workspace || TEST_EXITCODE=1
npm run nightwatch_local_defaultLayout || TEST_EXITCODE=1 npm run nightwatch_local_defaultLayout || TEST_EXITCODE=1
npm run nightwatch_local_pluginManager || TEST_EXITCODE=1 npm run nightwatch_local_pluginManager || TEST_EXITCODE=1
npm run nightwatch_local_publishContract || TEST_EXITCODE=1 npm run nightwatch_local_publishContract || TEST_EXITCODE=1
npm run nightwatch_local_generalSettings || TEST_EXITCODE=1
npm run nightwatch_local_fileExplorer || TEST_EXITCODE=1 npm run nightwatch_local_fileExplorer || TEST_EXITCODE=1
npm run nightwatch_local_debugger || TEST_EXITCODE=1 npm run nightwatch_local_debugger || TEST_EXITCODE=1
npm run nightwatch_local_editor || TEST_EXITCODE=1 npm run nightwatch_local_editor || TEST_EXITCODE=1
......
...@@ -21,13 +21,13 @@ setupRemixd ...@@ -21,13 +21,13 @@ setupRemixd
sleep 5 sleep 5
npm run nightwatch_local_generalSettings_firefox || TEST_EXITCODE=1
npm run nightwatch_local_ballot_firefox || TEST_EXITCODE=1 npm run nightwatch_local_ballot_firefox || TEST_EXITCODE=1
npm run nightwatch_local_gist_firefox || TEST_EXITCODE=1 npm run nightwatch_local_gist_firefox || TEST_EXITCODE=1
npm run nightwatch_local_workspace_firefox || TEST_EXITCODE=1 npm run nightwatch_local_workspace_firefox || TEST_EXITCODE=1
npm run nightwatch_local_defaultLayout_firefox || TEST_EXITCODE=1 npm run nightwatch_local_defaultLayout_firefox || TEST_EXITCODE=1
npm run nightwatch_local_pluginManager_firefox || TEST_EXITCODE=1 npm run nightwatch_local_pluginManager_firefox || TEST_EXITCODE=1
npm run nightwatch_local_publishContract_firefox || TEST_EXITCODE=1 npm run nightwatch_local_publishContract_firefox || TEST_EXITCODE=1
npm run nightwatch_local_generalSettings_firefox || TEST_EXITCODE=1
npm run nightwatch_local_fileExplorer_firefox || TEST_EXITCODE=1 npm run nightwatch_local_fileExplorer_firefox || TEST_EXITCODE=1
npm run nightwatch_local_debugger_firefox || TEST_EXITCODE=1 npm run nightwatch_local_debugger_firefox || TEST_EXITCODE=1
npm run nightwatch_local_editor_firefox || TEST_EXITCODE=1 npm run nightwatch_local_editor_firefox || TEST_EXITCODE=1
......
const EventEmitter = require('events')
class WaitForElementContainsText extends EventEmitter {
command (id, value) {
let incr = 0
let runid = setInterval(() => {
this.api.getText(id, (result) => {
if (value.indexOf(result.value || '') !== -1) {
clearInterval(runid)
this.api.assert.ok(true, `WaitForElementContainsText ${id} contains ${value}`)
this.emit('complete')
} else incr++
if (incr > 50) {
clearInterval(runid)
this.api.assert.fail(`WaitForElementContainsText - expected ${value} but got ${result.value}`)
// throw new Error(`WaitForElementContainsText ${id} ${value}`)
}
})
}, 200)
return this
}
}
module.exports = WaitForElementContainsText
...@@ -12,15 +12,14 @@ module.exports = { ...@@ -12,15 +12,14 @@ module.exports = {
.click('*[data-id="landingPageStartSolidity"]') .click('*[data-id="landingPageStartSolidity"]')
.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000) .waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="verticalIconsKindsettings"]') .click('*[data-id="verticalIconsKindsettings"]')
.waitForElementVisible('*[data-id="settingsTabSettingsView"]') .waitForElementContainsText('h6[data-id="sidePanelSwapitTitle"]', 'SETTINGS')
.assert.containsText('h6[data-id="sidePanelSwapitTitle"]', 'SETTINGS')
}, },
'Should open gitter channel in a new tab when `Gitter Channel Button` is clicked': function (browser) { 'Should open gitter channel in a new tab when `Gitter Channel Button` is clicked': function (browser) {
const runtimeBrowser = browser.capabilities.browserName const runtimeBrowser = browser.capabilities.browserName
browser.waitForElementVisible('*[data-id="remixIdeSidePanel"]') browser.waitForElementVisible('*[data-id="remixIdeSidePanel"]')
.waitForElementVisible('*[data-id="settingsTabGitterChannelButton"]') .waitForElementVisible('*[data-id="settingsTabGitterChannelButton"]', 5000)
.click('*[data-id="settingsTabGitterChannelButton"]') .click('*[data-id="settingsTabGitterChannelButton"]')
.pause(2000) .pause(2000)
.perform((done) => { if (runtimeBrowser === 'chrome') { browser.switchBrowserTab(1).assert.urlContains('https://gitter.im/ethereum/remix') } done() }) .perform((done) => { if (runtimeBrowser === 'chrome') { browser.switchBrowserTab(1).assert.urlContains('https://gitter.im/ethereum/remix') } done() })
...@@ -28,8 +27,8 @@ module.exports = { ...@@ -28,8 +27,8 @@ module.exports = {
'Should activate `generate contract metadata`': function (browser) { 'Should activate `generate contract metadata`': function (browser) {
browser.switchBrowserTab(0) browser.switchBrowserTab(0)
.waitForElementVisible('*[data-id="remixIdeSidePanel"]') .waitForElementVisible('*[data-id="remixIdeSidePanel"]', 5000)
.waitForElementVisible('*[data-id="settingsTabGenerateContractMetadata"]') .waitForElementVisible('*[data-id="settingsTabGenerateContractMetadata"]', 5000)
.click('*[data-id="settingsTabGenerateContractMetadata"]') .click('*[data-id="settingsTabGenerateContractMetadata"]')
.click('*[data-id="verticalIconsFileExplorerIcons"]') .click('*[data-id="verticalIconsFileExplorerIcons"]')
.switchFile('browser/3_Ballot.sol') .switchFile('browser/3_Ballot.sol')
...@@ -43,34 +42,34 @@ module.exports = { ...@@ -43,34 +42,34 @@ module.exports = {
}, },
'Should add new github access token': function (browser) { 'Should add new github access token': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="verticalIconsKindsettings"]') .click('*[data-id="verticalIconsKindsettings"]')
.setValue('*[data-id="settingsTabGistAccessToken"]', '**********') .setValue('*[data-id="settingsTabGistAccessToken"]', '**********')
.click('*[data-id="settingsTabSaveGistToken"]') .click('*[data-id="settingsTabSaveGistToken"]')
.waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)') .waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 5000)
.assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Access token saved') .assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Access token saved')
.click('*[data-id="tooltipCloseButton"]') .click('*[data-id="tooltipCloseButton"]')
}, },
'Should copy github access token to clipboard': function (browser) { 'Should copy github access token to clipboard': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="copyToClipboardCopyIcon"]') .click('*[data-id="copyToClipboardCopyIcon"]')
.waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)') .waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 5000)
.assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Copied value to clipboard.') .assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Copied value to clipboard.')
.click('*[data-id="tooltipCloseButton"]') .click('*[data-id="tooltipCloseButton"]')
}, },
'Should remove github access token': function (browser) { 'Should remove github access token': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabRemoveGistToken"]') .click('*[data-id="settingsTabRemoveGistToken"]')
.waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)') .waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 5000)
.assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Access token removed') .assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Access token removed')
.assert.containsText('*[data-id="settingsTabGistAccessToken"]', '') .assert.containsText('*[data-id="settingsTabGistAccessToken"]', '')
.click('*[data-id="tooltipCloseButton"]') .click('*[data-id="tooltipCloseButton"]')
}, },
'Should load dark theme': function (browser) { 'Should load dark theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeDark"]') .click('*[data-id="settingsTabThemeDark"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.dark.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.dark.primary)
...@@ -82,7 +81,7 @@ module.exports = { ...@@ -82,7 +81,7 @@ module.exports = {
}, },
'Should load light theme': function (browser) { 'Should load light theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeLight"]') .click('*[data-id="settingsTabThemeLight"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.light.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.light.primary)
...@@ -94,7 +93,7 @@ module.exports = { ...@@ -94,7 +93,7 @@ module.exports = {
}, },
'Should load Cerulean theme': function (browser) { 'Should load Cerulean theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeCerulean"]') .click('*[data-id="settingsTabThemeCerulean"]')
.pause(5000) .pause(5000)
.checkElementStyle(':root', '--primary', remixIdeThemes.curelean.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.curelean.primary)
...@@ -106,7 +105,7 @@ module.exports = { ...@@ -106,7 +105,7 @@ module.exports = {
}, },
'Should load Flatly theme': function (browser) { 'Should load Flatly theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeFlatly"]') .click('*[data-id="settingsTabThemeFlatly"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.flatly.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.flatly.primary)
...@@ -118,7 +117,7 @@ module.exports = { ...@@ -118,7 +117,7 @@ module.exports = {
}, },
'Should load Lumen theme': function (browser) { 'Should load Lumen theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeLumen"]') .click('*[data-id="settingsTabThemeLumen"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.lumen.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.lumen.primary)
...@@ -130,7 +129,7 @@ module.exports = { ...@@ -130,7 +129,7 @@ module.exports = {
}, },
'Should load Minty theme': function (browser) { 'Should load Minty theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeMinty"]') .click('*[data-id="settingsTabThemeMinty"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.minty.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.minty.primary)
...@@ -142,7 +141,7 @@ module.exports = { ...@@ -142,7 +141,7 @@ module.exports = {
}, },
'Should load Pulse theme': function (browser) { 'Should load Pulse theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemePulse"]') .click('*[data-id="settingsTabThemePulse"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.pulse.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.pulse.primary)
...@@ -154,7 +153,7 @@ module.exports = { ...@@ -154,7 +153,7 @@ module.exports = {
}, },
'Should load Sandstone theme': function (browser) { 'Should load Sandstone theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeSandstone"]') .click('*[data-id="settingsTabThemeSandstone"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.sandstone.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.sandstone.primary)
...@@ -166,7 +165,7 @@ module.exports = { ...@@ -166,7 +165,7 @@ module.exports = {
}, },
'Should load Spacelab theme': function (browser) { 'Should load Spacelab theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeSpacelab"]') .click('*[data-id="settingsTabThemeSpacelab"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.spacelab.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.spacelab.primary)
...@@ -178,7 +177,7 @@ module.exports = { ...@@ -178,7 +177,7 @@ module.exports = {
}, },
'Should load Yeti theme': function (browser) { 'Should load Yeti theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeYeti"]') .click('*[data-id="settingsTabThemeYeti"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.yeti.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.yeti.primary)
...@@ -190,7 +189,7 @@ module.exports = { ...@@ -190,7 +189,7 @@ module.exports = {
}, },
'Should load Cyborg theme': function (browser) { 'Should load Cyborg theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeCyborg"]') .click('*[data-id="settingsTabThemeCyborg"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.cyborg.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.cyborg.primary)
...@@ -202,7 +201,7 @@ module.exports = { ...@@ -202,7 +201,7 @@ module.exports = {
}, },
'Should load Darkly theme': function (browser) { 'Should load Darkly theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeDarkly"]') .click('*[data-id="settingsTabThemeDarkly"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.darkly.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.darkly.primary)
...@@ -214,7 +213,7 @@ module.exports = { ...@@ -214,7 +213,7 @@ module.exports = {
}, },
'Should load Slate theme': function (browser) { 'Should load Slate theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeSlate"]') .click('*[data-id="settingsTabThemeSlate"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.slate.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.slate.primary)
...@@ -226,7 +225,7 @@ module.exports = { ...@@ -226,7 +225,7 @@ module.exports = {
}, },
'Should load Superhero theme': function (browser) { 'Should load Superhero theme': function (browser) {
browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]') browser.waitForElementVisible('*[data-id="verticalIconsKindsettings"]', 5000)
.click('*[data-id="settingsTabThemeSuperhero"]') .click('*[data-id="settingsTabThemeSuperhero"]')
.pause(2000) .pause(2000)
.checkElementStyle(':root', '--primary', remixIdeThemes.superhero.primary) .checkElementStyle(':root', '--primary', remixIdeThemes.superhero.primary)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment