mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Add page navigation to e2e web driver (#7867)
The driver now has a page navigation function that can navigate to any of the three primary pages used in the extension. Additional pages and support of paths can be added later as needed.
This commit is contained in:
parent
22d66b3b2d
commit
ca38635d22
test/e2e/webdriver
@ -28,7 +28,7 @@ class ChromeDriver {
|
||||
|
||||
return {
|
||||
driver,
|
||||
extensionUrl: `chrome-extension://${extensionId}/home.html`,
|
||||
extensionUrl: `chrome-extension://${extensionId}`,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,9 +8,10 @@ class Driver {
|
||||
* @param {string} browser - The type of browser this driver is controlling
|
||||
* @param {number} timeout
|
||||
*/
|
||||
constructor (driver, browser, timeout = 10000) {
|
||||
constructor (driver, browser, extensionUrl, timeout = 10000) {
|
||||
this.driver = driver
|
||||
this.browser = browser
|
||||
this.extensionUrl = extensionUrl
|
||||
this.timeout = timeout
|
||||
}
|
||||
|
||||
@ -84,6 +85,12 @@ class Driver {
|
||||
assert.ok(!dataTab, 'Found element that should not be present')
|
||||
}
|
||||
|
||||
// Navigation
|
||||
|
||||
async navigate (page = Driver.PAGES.HOME) {
|
||||
return await this.driver.get(`${this.extensionUrl}/${page}.html`)
|
||||
}
|
||||
|
||||
// Window management
|
||||
|
||||
async openNewPage (url) {
|
||||
@ -173,4 +180,10 @@ class Driver {
|
||||
}
|
||||
}
|
||||
|
||||
Driver.PAGES = {
|
||||
HOME: 'home',
|
||||
NOTIFICATION: 'notification',
|
||||
POPUP: 'popup',
|
||||
}
|
||||
|
||||
module.exports = Driver
|
||||
|
@ -52,7 +52,7 @@ class FirefoxDriver {
|
||||
return {
|
||||
driver,
|
||||
extensionId,
|
||||
extensionUrl: `moz-extension://${internalExtensionId}/home.html`,
|
||||
extensionUrl: `moz-extension://${internalExtensionId}`,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,14 +10,12 @@ async function buildWebDriver ({ responsive, port } = {}) {
|
||||
|
||||
const { driver: seleniumDriver, extensionId, extensionUrl } = await buildBrowserWebDriver(browser, { extensionPath, responsive, port })
|
||||
setupFetchMocking(seleniumDriver)
|
||||
await seleniumDriver.get(extensionUrl)
|
||||
|
||||
const driver = new Driver(seleniumDriver, browser)
|
||||
const driver = new Driver(seleniumDriver, browser, extensionUrl)
|
||||
await driver.navigate()
|
||||
|
||||
return {
|
||||
driver,
|
||||
extensionId,
|
||||
extensionUrl,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user