1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Test wit driver.wait

This commit is contained in:
Thomas 2018-05-03 13:06:36 -07:00
parent 5ae2b683b2
commit 8d9d55fec3

View File

@ -4,6 +4,7 @@ const path = require('path')
const assert = require('assert') const assert = require('assert')
const pify = require('pify') const pify = require('pify')
const webdriver = require('selenium-webdriver') const webdriver = require('selenium-webdriver')
const until = require('selenium-webdriver/lib/until')
const By = webdriver.By const By = webdriver.By
const { delay, buildChromeWebDriver } = require('../func') const { delay, buildChromeWebDriver } = require('../func')
@ -25,9 +26,9 @@ describe('Metamask popup page', function () {
} }
}) })
after(async function () { // after(async function () {
await driver.quit() // await driver.quit()
}) // })
describe('Setup', function () { describe('Setup', function () {
@ -38,18 +39,18 @@ describe('Metamask popup page', function () {
}) })
it(`selects MetaMask's extension id and opens it in the current tab`, async function () { it(`selects MetaMask's extension id and opens it in the current tab`, async function () {
// // For latest Chrome version (when they updated the extension view) // For latest Chrome version (when they updated the extension view)
// // Use piercing CSS selector /deep/ to access the extension id in the Shadow Dom // Use piercing CSS selector /deep/ to access the extension id in the Shadow Dom
// const elems = await driver.findElements(By.css('* /deep/ extensions-item')) const elems = await driver.findElements(By.css('* /deep/ extensions-item'))
// extensionId = await elems[1].getAttribute('id')
const elems = await driver.findElements(By.css('.extension-list-item-wrapper'))
extensionId = await elems[1].getAttribute('id') extensionId = await elems[1].getAttribute('id')
// const elems = await driver.findElements(By.css('.extension-list-item-wrapper'))
// extensionId = await elems[1].getAttribute('id')
await driver.get(`chrome-extension://${extensionId}/popup.html`) await driver.get(`chrome-extension://${extensionId}/popup.html`)
await delay(500) await delay(500)
}) })
it('sets provider type to localhost', async function () { it('sets provider type to localhost', async function () {
await driver.wait(until.elementLocated(By.css('#app-content')))
await setProviderType('localhost') await setProviderType('localhost')
await delay(300) await delay(300)
}) })
@ -63,17 +64,20 @@ describe('Metamask popup page', function () {
}) })
it('shows privacy notice', async () => { it('shows privacy notice', async () => {
const privacy = await driver.findElement(By.css('.terms-header')).getText() await driver.wait(async () => {
assert.equal(privacy, 'PRIVACY NOTICE', 'shows privacy notice') const privacyHeader = await driver.findElement(By.css('#app-content > div > div.app-primary.from-right > div > div.flex-column.flex-center.flex-grow > h3')).getText()
assert.equal(privacyHeader, 'PRIVACY NOTICE', 'shows privacy notice')
return privacyHeader === 'PRIVACY NOTICE'
})
await driver.findElement(By.css('button')).click() await driver.findElement(By.css('button')).click()
await delay(300)
}) })
it('show terms of use', async () => { it('show terms of use', async () => {
await delay(300) await driver.wait(async () => {
const terms = await driver.findElement(By.css('.terms-header')).getText() const terms = await driver.findElement(By.css('#app-content > div > div.app-primary.from-right > div > div.flex-column.flex-center.flex-grow > h3')).getText()
assert.equal(terms, 'TERMS OF USE', 'shows terms of use') assert.equal(terms, 'TERMS OF USE', 'shows terms of use')
await delay(300) return terms === 'TERMS OF USE'
})
}) })
it('checks if the TOU button is disabled', async () => { it('checks if the TOU button is disabled', async () => {
@ -86,10 +90,9 @@ describe('Metamask popup page', function () {
it('allows the button to be clicked when scrolled to the bottom of TOU', async () => { it('allows the button to be clicked when scrolled to the bottom of TOU', async () => {
const button = await driver.findElement(By.css('#app-content > div > div.app-primary.from-right > div > div.flex-column.flex-center.flex-grow > button')) const button = await driver.findElement(By.css('#app-content > div > div.app-primary.from-right > div > div.flex-column.flex-center.flex-grow > button'))
await delay(300) await driver.wait(until.elementIsEnabled(button))
const buttonEnabled = await button.isEnabled() const buttonEnabled = await button.isEnabled()
assert.equal(buttonEnabled, true, 'enabled continue button') assert.equal(buttonEnabled, true, 'enabled continue button')
await delay(200)
await button.click() await button.click()
}) })