diff options
Diffstat (limited to 'test/e2e/beta/metamask-beta-ui.spec.js')
-rw-r--r-- | test/e2e/beta/metamask-beta-ui.spec.js | 60 |
1 files changed, 24 insertions, 36 deletions
diff --git a/test/e2e/beta/metamask-beta-ui.spec.js b/test/e2e/beta/metamask-beta-ui.spec.js index 0f424abcc..ad7eda0f5 100644 --- a/test/e2e/beta/metamask-beta-ui.spec.js +++ b/test/e2e/beta/metamask-beta-ui.spec.js @@ -4,24 +4,21 @@ const webdriver = require('selenium-webdriver') const { By, Key, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, + createModifiedTestBuild, + setupBrowserAndExtension, + verboseReportOnFailure, } = require('../func') const { findElement, findElements, checkBrowserForConsoleErrors, - loadExtension, - verboseReportOnFailure, openNewPage, } = require('./helpers') describe('MetaMask', function () { - let extensionId + const browser = process.env.SELENIUM_BROWSER let driver + let extensionUri let tokenAddress const testSeedPhrase = 'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent' @@ -34,27 +31,18 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath) - extensionId = await getExtensionIdChrome(driver) - await driver.get(`chrome-extension://${extensionId}/popup.html`) - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extPath) - await delay(700) - extensionId = await getExtensionIdFirefox(driver) - await driver.get(`moz-extension://${extensionId}/popup.html`) - } - } + const srcPath = path.resolve(`dist/${browser}`) + const { extPath } = await createModifiedTestBuild({ browser, srcPath }) + const installResult = await setupBrowserAndExtension({ browser, extPath }) + driver = installResult.driver + extensionUri = installResult.extensionUri + + await driver.get(extensionUri) + await delay(tinyDelayMs) }) afterEach(async function () { - if (process.env.SELENIUM_BROWSER === 'chrome') { + if (browser === 'chrome') { const errors = await checkBrowserForConsoleErrors(driver) if (errors.length) { const errorReports = errors.map(err => err.message) @@ -63,7 +51,7 @@ describe('MetaMask', function () { } } if (this.currentTest.state === 'failed') { - await verboseReportOnFailure(driver, this.currentTest) + await verboseReportOnFailure({ browser, driver, title: this.currentTest.title }) } }) @@ -80,7 +68,7 @@ describe('MetaMask', function () { try { networkSelector = await findElement(driver, By.css('#network_component')) } catch (e) { - await loadExtension(driver, extensionId) + await driver.get(extensionUri) } await delay(regularDelayMs) }) @@ -245,12 +233,12 @@ describe('MetaMask', function () { await word10.click() await delay(tinyDelayMs) - + const word11 = await findElement(driver, By.xpath(`//button[contains(text(), '${words[11]}')]`), 10000) await word11.click() await delay(tinyDelayMs) } catch (e) { - await loadExtension(driver, extensionId) + await driver.get(extensionUri) await retypeSeedPhrase(words) } } @@ -430,7 +418,7 @@ describe('MetaMask', function () { await delay(regularDelayMs) await driver.switchTo().window(extension) - await loadExtension(driver, extensionId) + await driver.get(extensionUri) await delay(regularDelayMs) const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`), 14000) @@ -443,7 +431,7 @@ describe('MetaMask', function () { await delay(regularDelayMs) await driver.switchTo().window(extension) await delay(regularDelayMs) - await loadExtension(driver, extensionId) + await driver.get(extensionUri) await delay(regularDelayMs) }) }) @@ -592,7 +580,7 @@ describe('MetaMask', function () { await delay(regularDelayMs) await driver.switchTo().window(extension) - await loadExtension(driver, extensionId) + await driver.get(extensionUri) await delay(regularDelayMs) const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`)) @@ -607,7 +595,7 @@ describe('MetaMask', function () { await driver.close() await driver.switchTo().window(extension) - await loadExtension(driver, extensionId) + await driver.get(extensionUri) await driver.switchTo().window(extension) await delay(regularDelayMs) @@ -700,7 +688,7 @@ describe('MetaMask', function () { if (process.env.SELENIUM_BROWSER !== 'firefox') { await driver.wait(until.elementTextMatches(txValues[0], /50\sTST/), 10000) } - + const txStatuses = await findElements(driver, By.css('.tx-list-status')) const tx = await driver.wait(until.elementTextMatches(txStatuses[0], /Confirmed|Failed/), 10000) assert.equal(await tx.getText(), 'Confirmed') @@ -759,7 +747,7 @@ describe('MetaMask', function () { await gasLimitInput.sendKeys(Key.chord(Key.CONTROL, 'e')) // Needed for different behaviour of input in different versions of firefox - const gasLimitInputValue = await gasLimitInput.getAttribute('value') + const gasLimitInputValue = await gasLimitInput.getAttribute('value') if (gasLimitInputValue === '600001') { await gasLimitInput.sendKeys(Key.BACK_SPACE) } |