aboutsummaryrefslogtreecommitdiffstats
path: root/test/e2e/func.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-05-22 01:53:55 +0800
committerGitHub <noreply@github.com>2018-05-22 01:53:55 +0800
commitb426b5e58cc136c429ebb7659f414155139f5020 (patch)
treec99b5678b9d5c053d254ee3303117809124fd705 /test/e2e/func.js
parent713c77db54e7866da169205d7f665c33a4c626e0 (diff)
parentf2815d3121d5edcbc5cc0411b5b52092f3072ad1 (diff)
downloadtangerine-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.js42
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