MCPcopy
hub / github.com/vuejs/core / setupPuppeteer

Function setupPuppeteer

packages/vue/__tests__/e2e/e2eUtils.ts:55–224  ·  view source on GitHub ↗
(args?: string[])

Source from the content-addressed store, hash-verified

53}
54
55export function setupPuppeteer(args?: string[]): PuppeteerUtils {
56 let browser: Browser
57 let page: Page
58
59 const resolvedOptions = args
60 ? {
61 ...puppeteerOptions,
62 args: [...puppeteerOptions.args!, ...args],
63 }
64 : puppeteerOptions
65
66 beforeAll(async () => {
67 browser = await puppeteer.launch(resolvedOptions)
68 }, 20000)
69
70 beforeEach(async () => {
71 page = await browser.newPage()
72
73 await page.evaluateOnNewDocument(() => {
74 localStorage.clear()
75 })
76
77 page.on('console', e => {
78 if (e.type() === 'error') {
79 const err = e.args()[0]
80 console.error(`Error from Puppeteer-loaded page:\n`, err.remoteObject())
81 }
82 })
83 })
84
85 afterEach(async () => {
86 await page.close()
87 })
88
89 afterAll(async () => {
90 await browser.close()
91 })
92
93 async function click(
94 selector: string,
95 options?: ClickOptions,
96 ): Promise<void> {
97 await page.click(selector, options)
98 }
99
100 async function count(selector: string): Promise<number> {
101 return (await page.$$(selector)).length
102 }
103
104 async function text(selector: string): Promise<string | null> {
105 return page.$eval(selector, node => node.textContent)
106 }
107
108 async function value(selector: string): Promise<string> {
109 return page.$eval(selector, node => (node as HTMLInputElement).value)
110 }
111
112 async function html(selector: string): Promise<string> {

Callers 11

grid.spec.tsFile · 0.90
svg.spec.tsFile · 0.90
commits.spec.tsFile · 0.90
tree.spec.tsFile · 0.90
markdown.spec.tsFile · 0.90
todomvc.spec.tsFile · 0.90
vModel.spec.tsFile · 0.90

Calls 2

errorMethod · 0.80
onMethod · 0.65

Tested by

no test coverage detected