mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
e860cec656
### What? Migrate remaining direct `next-webdriver` test callers that have a `NextInstance` to `next.browser()`, and expose the shared `Playwright` browser type from `e2e-utils`. ### Why? `NextInstance.browser` should be the supported browser-opening interface for test fixtures, with `next-webdriver` kept as the private implementation detail. ### How? Updated affected development, e2e, and production tests to call `next.browser()` directly, passing `baseUrl` where tests intentionally target a manually spawned or proxied server. Shared helpers now receive browser callbacks from the test context, and browser types import `Playwright` from `e2e-utils` instead of deriving from `next.browser` or importing from private paths. <!-- NEXT_JS_LLM_PR -->
20 lines
618 B
TypeScript
20 lines
618 B
TypeScript
import type { Playwright } from 'e2e-utils'
|
|
import { waitForDevToolsIndicator } from 'next-test-utils'
|
|
|
|
export async function getDevIndicatorPosition(browser: Playwright) {
|
|
// assert before eval() to prevent race condition
|
|
await waitForDevToolsIndicator(browser)
|
|
|
|
const style = await browser.eval(() => {
|
|
return (
|
|
[].slice
|
|
.call(document.querySelectorAll('nextjs-portal'))
|
|
.find((p) => p.shadowRoot.querySelector('[data-nextjs-toast]'))
|
|
// portal
|
|
?.shadowRoot?.querySelector('[data-nextjs-toast]')
|
|
?.getAttribute('style') || ''
|
|
)
|
|
})
|
|
return style || ''
|
|
}
|