playwright.cucumber.typescript.template
Version:
Projeto do playwright com cucumber, teste de regressao visual, teste de acessibilidade e lighthouse integrado
41 lines (40 loc) • 1.2 kB
text/typescript
import {global} from "playwright.typescript.cucumber"
import {
chromium,
firefox,
webkit,
BrowserType,
devices,
} from "@playwright/test"
import { config } from "../../support/config"
let user_dir = "./userDataDir"
type browsertypes = {
chrome: BrowserType
firefox: BrowserType
safari: BrowserType
}
export const browserTypes: browsertypes = {
chrome: chromium,
firefox: firefox,
safari: webkit,
}
export const browserType = process.env.BRWS || "chrome"
export default async function getBrowser() {
if (!browserTypes[browserType as keyof typeof browserTypes]) {
global.context = await chromium.launchPersistentContext(
user_dir,
config.browserOptions
)
global.page = await global.context.newPage()
} else {
const browser = await browserTypes[
browserType as keyof typeof browserTypes
].launch(config.browserOptions)
global.browser = browser
global.context = await global.browser.newContext({
...config.browserContextOptions,
...devices[process.env.DEVICE || ""],
})
global.page = await global.context.newPage()
}
}