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:
parent
5ae2b683b2
commit
8d9d55fec3
@ -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()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user