diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-05-22 01:53:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-22 01:53:55 +0800 |
commit | b426b5e58cc136c429ebb7659f414155139f5020 (patch) | |
tree | c99b5678b9d5c053d254ee3303117809124fd705 /test/e2e/func.js | |
parent | 713c77db54e7866da169205d7f665c33a4c626e0 (diff) | |
parent | f2815d3121d5edcbc5cc0411b5b52092f3072ad1 (diff) | |
download | tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar.gz tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar.bz2 tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar.lz tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar.xz tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.tar.zst tangerine-wallet-browser-b426b5e58cc136c429ebb7659f414155139f5020.zip |
Merge pull request #4278 from MetaMask/e2e-tests
E2e tests
Diffstat (limited to 'test/e2e/func.js')
-rw-r--r-- | test/e2e/func.js | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/test/e2e/func.js b/test/e2e/func.js index 4ad0ea615..8b221ce47 100644 --- a/test/e2e/func.js +++ b/test/e2e/func.js @@ -1,13 +1,24 @@ require('chromedriver') require('geckodriver') +const path = require('path') const webdriver = require('selenium-webdriver') +const Command = require('selenium-webdriver/lib/command').Command +const By = webdriver.By -exports.delay = function delay (time) { - return new Promise(resolve => setTimeout(resolve, time)) +module.exports = { + delay, + buildChromeWebDriver, + buildFirefoxWebdriver, + installWebExt, + getExtensionIdChrome, + getExtensionIdFirefox, } +function delay (time) { + return new Promise(resolve => setTimeout(resolve, time)) +} -exports.buildChromeWebDriver = function buildChromeWebDriver (extPath) { +function buildChromeWebDriver (extPath) { return new webdriver.Builder() .withCapabilities({ chromeOptions: { @@ -17,6 +28,29 @@ exports.buildChromeWebDriver = function buildChromeWebDriver (extPath) { .build() } -exports.buildFirefoxWebdriver = function buildFirefoxWebdriver (extPath) { +function buildFirefoxWebdriver () { return new webdriver.Builder().build() } + +async function getExtensionIdChrome (driver) { + await driver.get('chrome://extensions') + const extensionId = await driver.executeScript('return document.querySelector("extensions-manager").shadowRoot.querySelector("extensions-view-manager extensions-item-list").shadowRoot.querySelector("extensions-item:nth-child(2)").getAttribute("id")') + return extensionId +} + +async function getExtensionIdFirefox (driver) { + await driver.get('about:debugging#addons') + const extensionId = await driver.findElement(By.css('dd.addon-target-info-content:nth-child(6) > span:nth-child(1)')).getText() + return extensionId +} + +async function installWebExt (driver, extension) { + const cmd = await new Command('moz-install-web-ext') + .setParameter('path', path.resolve(extension)) + .setParameter('temporary', true) + + await driver.getExecutor() + .defineCommand(cmd.getName(), 'POST', '/session/:sessionId/moz/addon/install') + + return await driver.schedule(cmd, 'installWebExt(' + extension + ')') +}
\ No newline at end of file |