Menu
This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.
Open source
Playwright APIs in k6
The following table shows which Playwright APIs are implemented in k6. k6 tries to match Playwright’s API behavior and signature exactly, but some differences may exist. For more details, refer to the individual API documentation page.
The status column has three different options:
| Status | Description |
|---|---|
| 🟩 | Implemented in k6 Browser |
| 🟥 | Not implemented in k6 Browser |
| 🟧 | k6 Browser only |
Note
If k6 is missing an API from Playwright that you need for your test, you can open an issue in the k6 GitHub repository.
| Object | Method | Status | Alternate |
|---|---|---|---|
| Browser | addListener | 🟥 | None |
| Browser | browserType | 🟥 | None |
| Browser | close | 🟥 | None |
| Browser | closeContext | 🟧 | - |
| Browser | context | 🟧 | - |
| Browser | contexts | 🟥 | browser.context |
| Browser | isConnected | 🟩 | - |
| Browser | newBrowserCDPSession | 🟥 | None |
| Browser | newContext | 🟩 | - |
| Browser | newPage | 🟩 | - |
| Browser | off | 🟥 | None |
| Browser | on | 🟥 | page.on |
| Browser | once | 🟥 | None |
| Browser | prependListener | 🟥 | None |
| Browser | removeAllListeners | 🟥 | None |
| Browser | removeListener | 🟥 | None |
| Browser | startTracing | 🟥 | None |
| Browser | stopTracing | 🟥 | None |
| Browser | userAgent | 🟩 | - |
| Browser | version | 🟩 | - |
| BrowserContext | addCookies | 🟩 | - |
| BrowserContext | addInitScript | 🟩 | - |
| BrowserContext | addListener | 🟥 | None |
| BrowserContext | backgroundPages | 🟥 | None |
| BrowserContext | browser | 🟩 | - |
| BrowserContext | clearCookies | 🟩 | - |
| BrowserContext | clearPermissions | 🟩 | - |
| BrowserContext | close | 🟩 | - |
| BrowserContext | cookies | 🟩 | - |
| BrowserContext | exposeBinding | 🟥 | None |
| BrowserContext | exposeFunction | 🟥 | None |
| BrowserContext | grantPermissions | 🟩 | - |
| BrowserContext | newCDPSession | 🟥 | None |
| BrowserContext | newPage | 🟩 | - |
| BrowserContext | off | 🟥 | None |
| BrowserContext | on | 🟥 | page.on |
| BrowserContext | once | 🟥 | None |
| BrowserContext | pages | 🟩 | - |
| BrowserContext | prependListener | 🟥 | None |
| BrowserContext | removeAllListeners | 🟥 | None |
| BrowserContext | removeListener | 🟥 | None |
| BrowserContext | route | 🟥 | page.route |
| BrowserContext | routeFromHAR | 🟥 | None |
| BrowserContext | routeWebSocket | 🟥 | None |
| BrowserContext | serviceWorkers | 🟥 | None |
| BrowserContext | setDefaultNavigationTimeout | 🟩 | - |
| BrowserContext | setDefaultTimeout | 🟩 | - |
| BrowserContext | setExtraHTTPHeaders | 🟥 | page.setExtraHTTPHeaders |
| BrowserContext | setGeolocation | 🟩 | - |
| BrowserContext | setHTTPCredentials | 🟥 | None |
| BrowserContext | setOffline | 🟩 | - |
| BrowserContext | storageState | 🟥 | None |
| BrowserContext | unroute | 🟥 | page.unroute |
| BrowserContext | unrouteAll | 🟥 | page.unrouteAll |
| BrowserContext | waitForEvent | 🟩 | - |
| ConsoleMessage | args | 🟩 | - |
| ConsoleMessage | location | 🟥 | None |
| ConsoleMessage | page | 🟩 | - |
| ConsoleMessage | text | 🟩 | - |
| ConsoleMessage | type | 🟩 | - |
| Dialog | accept | 🟥 | None |
| Dialog | defaultValue | 🟥 | None |
| Dialog | dismiss | 🟥 | None |
| Dialog | message | 🟥 | None |
| Dialog | page | 🟥 | None |
| Dialog | type | 🟥 | None |
| Download | cancel | 🟥 | None |
| Download | createReadStream | 🟥 | None |
| Download | delete | 🟥 | None |
| Download | failure | 🟥 | None |
| Download | page | 🟥 | None |
| Download | path | 🟥 | None |
| Download | saveAs | 🟥 | None |
| Download | suggestedFilename | 🟥 | None |
| Download | url | 🟥 | None |
| ElementHandle | $ | 🟩 | - |
| ElementHandle | $$ | 🟩 | - |
| ElementHandle | $$eval | 🟥 | None |
| ElementHandle | $eval | 🟥 | None |
| ElementHandle | asElement | 🟩 | - |
| ElementHandle | boundingBox | 🟩 | - |
| ElementHandle | check | 🟩 | - |
| ElementHandle | click | 🟩 | - |
| ElementHandle | contentFrame | 🟩 | - |
| ElementHandle | dblclick | 🟩 | - |
| ElementHandle | dispatchEvent | 🟩 | - |
| ElementHandle | dispose | 🟩 | - |
| ElementHandle | evaluate | 🟩 | - |
| ElementHandle | evaluateHandle | 🟩 | - |
| ElementHandle | fill | 🟩 | - |
| ElementHandle | focus | 🟩 | - |
| ElementHandle | getAttribute | 🟩 | - |
| ElementHandle | getProperties | 🟩 | - |
| ElementHandle | getProperty | 🟥 | elementHandle.getProperties |
| ElementHandle | hover | 🟩 | - |
| ElementHandle | innerHTML | 🟩 | - |
| ElementHandle | innerText | 🟩 | - |
| ElementHandle | inputValue | 🟩 | - |
| ElementHandle | isChecked | 🟩 | - |
| ElementHandle | isDisabled | 🟩 | - |
| ElementHandle | isEditable | 🟩 | - |
| ElementHandle | isEnabled | 🟩 | - |
| ElementHandle | isHidden | 🟩 | - |
| ElementHandle | isVisible | 🟩 | - |
| ElementHandle | jsonValue | 🟩 | - |
| ElementHandle | ownerFrame | 🟩 | - |
| ElementHandle | press | 🟩 | - |
| ElementHandle | screenshot | 🟩 | - |
| ElementHandle | scrollIntoViewIfNeeded | 🟩 | - |
| ElementHandle | selectOption | 🟩 | - |
| ElementHandle | selectText | 🟩 | - |
| ElementHandle | setChecked | 🟩 | - |
| ElementHandle | setInputFiles | 🟩 | - |
| ElementHandle | tap | 🟩 | - |
| ElementHandle | textContent | 🟩 | - |
| ElementHandle | type | 🟩 | - |
| ElementHandle | uncheck | 🟩 | - |
| ElementHandle | waitForElementState | 🟩 | - |
| ElementHandle | waitForSelector | 🟩 | - |
| FileChooser | element | 🟥 | None |
| FileChooser | isMultiple | 🟥 | None |
| FileChooser | page | 🟥 | None |
| FileChooser | setFiles | 🟥 | None |
| Frame | $ | 🟩 | - |
| Frame | $$ | 🟩 | - |
| Frame | $$eval | 🟥 | None |
| Frame | $eval | 🟥 | None |
| Frame | addScriptTag | 🟥 | None |
| Frame | addStyleTag | 🟥 | None |
| Frame | check | 🟩 | - |
| Frame | childFrames | 🟩 | - |
| Frame | click | 🟩 | - |
| Frame | content | 🟩 | - |
| Frame | dblclick | 🟩 | - |
| Frame | dispatchEvent | 🟩 | - |
| Frame | dragAndDrop | 🟥 | None |
| Frame | evaluate | 🟩 | - |
| Frame | evaluateHandle | 🟩 | - |
| Frame | fill | 🟩 | - |
| Frame | focus | 🟩 | - |
| Frame | frameElement | 🟩 | - |
| Frame | frameLocator | 🟥 | locator.contentFrame |
| Frame | getAttribute | 🟩 | - |
| Frame | getByAltText | 🟩 | - |
| Frame | getByLabel | 🟩 | - |
| Frame | getByPlaceholder | 🟩 | - |
| Frame | getByRole | 🟩 | - |
| Frame | getByTestId | 🟩 | - |
| Frame | getByText | 🟩 | - |
| Frame | getByTitle | 🟩 | - |
| Frame | goto | 🟩 | - |
| Frame | hover | 🟩 | - |
| Frame | innerHTML | 🟩 | - |
| Frame | innerText | 🟩 | - |
| Frame | inputValue | 🟩 | - |
| Frame | isChecked | 🟩 | - |
| Frame | isDetached | 🟩 | - |
| Frame | isDisabled | 🟩 | - |
| Frame | isEditable | 🟩 | - |
| Frame | isEnabled | 🟩 | - |
| Frame | isHidden | 🟩 | - |
| Frame | isVisible | 🟩 | - |
| Frame | locator | 🟩 | - |
| Frame | name | 🟩 | - |
| Frame | page | 🟩 | - |
| Frame | parentFrame | 🟩 | - |
| Frame | press | 🟩 | - |
| Frame | selectOption | 🟩 | - |
| Frame | setChecked | 🟩 | - |
| Frame | setContent | 🟩 | - |
| Frame | setInputFiles | 🟩 | - |
| Frame | tap | 🟩 | - |
| Frame | textContent | 🟩 | - |
| Frame | title | 🟩 | - |
| Frame | type | 🟩 | - |
| Frame | uncheck | 🟩 | - |
| Frame | url | 🟩 | - |
| Frame | waitForFunction | 🟩 | - |
| Frame | waitForLoadState | 🟩 | - |
| Frame | waitForNavigation | 🟩 | - |
| Frame | waitForSelector | 🟩 | - |
| Frame | waitForTimeout | 🟩 | - |
| Frame | waitForURL | 🟩 | - |
| FrameLocator | first | 🟥 | None |
| FrameLocator | frameLocator | 🟥 | locator.contentFrame |
| FrameLocator | getByAltText | 🟩 | - |
| FrameLocator | getByLabel | 🟩 | - |
| FrameLocator | getByPlaceholder | 🟩 | - |
| FrameLocator | getByRole | 🟩 | - |
| FrameLocator | getByTestId | 🟩 | - |
| FrameLocator | getByText | 🟩 | - |
| FrameLocator | getByTitle | 🟩 | - |
| FrameLocator | last | 🟥 | None |
| FrameLocator | locator | 🟩 | - |
| FrameLocator | nth | 🟥 | None |
| FrameLocator | owner | 🟥 | None |
| JSHandle | asElement | 🟩 | - |
| JSHandle | dispose | 🟩 | - |
| JSHandle | evaluate | 🟩 | - |
| JSHandle | evaluateHandle | 🟩 | - |
| JSHandle | getProperties | 🟩 | - |
| JSHandle | getProperty | 🟥 | jsHandle.getProperties |
| JSHandle | jsonValue | 🟩 | - |
| Keyboard | down | 🟩 | - |
| Keyboard | insertText | 🟩 | - |
| Keyboard | press | 🟩 | - |
| Keyboard | type | 🟩 | - |
| Keyboard | up | 🟩 | - |
| Locator | all | 🟩 | - |
| Locator | allInnerTexts | 🟥 | None |
| Locator | allTextContents | 🟥 | None |
| Locator | and | 🟥 | None |
| Locator | ariaSnapshot | 🟥 | None |
| Locator | blur | 🟥 | None |
| Locator | boundingBox | 🟩 | - |
| Locator | check | 🟩 | - |
| Locator | clear | 🟩 | - |
| Locator | click | 🟩 | - |
| Locator | contentFrame | 🟩 | - |
| Locator | count | 🟩 | - |
| Locator | dblclick | 🟩 | - |
| Locator | dispatchEvent | 🟩 | - |
| Locator | dragTo | 🟥 | None |
| Locator | elementHandle | 🟥 | None |
| Locator | elementHandles | 🟥 | None |
| Locator | evaluate | 🟩 | - |
| Locator | evaluateAll | 🟥 | None |
| Locator | evaluateHandle | 🟩 | - |
| Locator | fill | 🟩 | - |
| Locator | filter | 🟩 | - |
| Locator | first | 🟩 | - |
| Locator | focus | 🟩 | - |
| Locator | frameLocator | 🟥 | locator.contentFrame |
| Locator | getAttribute | 🟩 | - |
| Locator | getByAltText | 🟩 | - |
| Locator | getByLabel | 🟩 | - |
| Locator | getByPlaceholder | 🟩 | - |
| Locator | getByRole | 🟩 | - |
| Locator | getByTestId | 🟩 | - |
| Locator | getByText | 🟩 | - |
| Locator | getByTitle | 🟩 | - |
| Locator | highlight | 🟥 | None |
| Locator | hover | 🟩 | - |
| Locator | innerHTML | 🟩 | - |
| Locator | innerText | 🟩 | - |
| Locator | inputValue | 🟩 | - |
| Locator | isChecked | 🟩 | - |
| Locator | isDisabled | 🟩 | - |
| Locator | isEditable | 🟩 | - |
| Locator | isEnabled | 🟩 | - |
| Locator | isHidden | 🟩 | - |
| Locator | isVisible | 🟩 | - |
| Locator | last | 🟩 | - |
| Locator | locator | 🟩 | - |
| Locator | nth | 🟩 | - |
| Locator | or | 🟥 | None |
| Locator | page | 🟥 | None |
| Locator | press | 🟩 | - |
| Locator | pressSequentially | 🟥 | None |
| Locator | screenshot | 🟥 | None |
| Locator | scrollIntoViewIfNeeded | 🟥 | None |
| Locator | selectOption | 🟩 | - |
| Locator | selectText | 🟥 | None |
| Locator | setChecked | 🟩 | - |
| Locator | setInputFiles | 🟥 | None |
| Locator | tap | 🟩 | - |
| Locator | textContent | 🟩 | - |
| Locator | type | 🟩 | - |
| Locator | uncheck | 🟩 | - |
| Locator | waitFor | 🟩 | - |
| Mouse | click | 🟩 | - |
| Mouse | dblclick | 🟩 | - |
| Mouse | down | 🟩 | - |
| Mouse | move | 🟩 | - |
| Mouse | up | 🟩 | - |
| Mouse | wheel | 🟥 | None |
| Page | $ | 🟩 | - |
| Page | $$ | 🟩 | - |
| Page | $$eval | 🟥 | None |
| Page | $eval | 🟥 | None |
| Page | addInitScript | 🟥 | browserContext.addInitScript |
| Page | addListener | 🟥 | None |
| Page | addLocatorHandler | 🟥 | None |
| Page | addScriptTag | 🟥 | None |
| Page | addStyleTag | 🟥 | None |
| Page | bringToFront | 🟩 | - |
| Page | check | 🟩 | - |
| Page | click | 🟩 | - |
| Page | close | 🟩 | - |
| Page | content | 🟩 | - |
| Page | context | 🟩 | - |
| Page | dblclick | 🟩 | - |
| Page | dispatchEvent | 🟩 | - |
| Page | dragAndDrop | 🟥 | None |
| Page | emulateMedia | 🟩 | - |
| Page | emulateVisionDeficiency | 🟧 | - |
| Page | evaluate | 🟩 | - |
| Page | evaluateHandle | 🟩 | - |
| Page | exposeBinding | 🟥 | None |
| Page | exposeFunction | 🟥 | None |
| Page | fill | 🟩 | - |
| Page | focus | 🟩 | - |
| Page | frame | 🟥 | None |
| Page | frameLocator | 🟥 | locator.contentFrame |
| Page | frames | 🟩 | - |
| Page | getAttribute | 🟩 | - |
| Page | getByAltText | 🟩 | - |
| Page | getByLabel | 🟩 | - |
| Page | getByPlaceholder | 🟩 | - |
| Page | getByRole | 🟩 | - |
| Page | getByTestId | 🟩 | - |
| Page | getByText | 🟩 | - |
| Page | getByTitle | 🟩 | - |
| Page | goBack | 🟥 | None |
| Page | goForward | 🟥 | None |
| Page | goto | 🟩 | - |
| Page | hover | 🟩 | - |
| Page | innerHTML | 🟩 | - |
| Page | innerText | 🟩 | - |
| Page | inputValue | 🟩 | - |
| Page | isChecked | 🟩 | - |
| Page | isClosed | 🟩 | - |
| Page | isDisabled | 🟩 | - |
| Page | isEditable | 🟩 | - |
| Page | isEnabled | 🟩 | - |
| Page | isHidden | 🟩 | - |
| Page | isVisible | 🟩 | - |
| Page | locator | 🟩 | - |
| Page | mainFrame | 🟩 | - |
| Page | off | 🟥 | None |
| Page | on | 🟩 | - |
| Page | once | 🟥 | None |
| Page | opener | 🟩 | - |
| Page | pause | 🟥 | None |
| Page | 🟥 | None | |
| Page | prependListener | 🟥 | None |
| Page | press | 🟩 | - |
| Page | reload | 🟩 | - |
| Page | removeAllListeners | 🟥 | None |
| Page | removeListener | 🟥 | None |
| Page | removeLocatorHandler | 🟥 | None |
| Page | requestGC | 🟥 | None |
| Page | route | 🟩 | - |
| Page | routeFromHAR | 🟥 | None |
| Page | routeWebSocket | 🟥 | None |
| Page | screenshot | 🟩 | - |
| Page | selectOption | 🟩 | - |
| Page | setChecked | 🟩 | - |
| Page | setContent | 🟩 | - |
| Page | setDefaultNavigationTimeout | 🟩 | - |
| Page | setDefaultTimeout | 🟩 | - |
| Page | setExtraHTTPHeaders | 🟩 | - |
| Page | setInputFiles | 🟩 | - |
| Page | setViewportSize | 🟩 | - |
| Page | tap | 🟩 | - |
| Page | textContent | 🟩 | - |
| Page | throttleCPU | 🟧 | - |
| Page | throttleNetwork | 🟧 | - |
| Page | title | 🟩 | - |
| Page | type | 🟩 | - |
| Page | uncheck | 🟩 | - |
| Page | unroute | 🟩 | - |
| Page | unrouteAll | 🟩 | - |
| Page | url | 🟩 | - |
| Page | video | 🟥 | None |
| Page | viewportSize | 🟩 | - |
| Page | waitForEvent | 🟥 | None |
| Page | waitForFunction | 🟩 | - |
| Page | waitForLoadState | 🟩 | - |
| Page | waitForNavigation | 🟩 | - |
| Page | waitForRequest | 🟩 | - |
| Page | waitForResponse | 🟩 | - |
| Page | waitForSelector | 🟩 | - |
| Page | waitForTimeout | 🟩 | - |
| Page | waitForURL | 🟩 | - |
| Page | workers | 🟩 | - |
| Request | allHeaders | 🟩 | - |
| Request | failure | 🟥 | None |
| Request | frame | 🟩 | - |
| Request | headerValue | 🟩 | - |
| Request | headers | 🟩 | - |
| Request | headersArray | 🟩 | - |
| Request | isNavigationRequest | 🟩 | - |
| Request | method | 🟩 | - |
| Request | postData | 🟩 | - |
| Request | postDataBuffer | 🟩 | - |
| Request | postDataJSON | 🟥 | None |
| Request | redirectedFrom | 🟥 | None |
| Request | redirectedTo | 🟥 | None |
| Request | resourceType | 🟩 | - |
| Request | response | 🟩 | - |
| Request | serviceWorker | 🟥 | None |
| Request | size | 🟧 | - |
| Request | sizes | 🟥 | request.size |
| Request | timing | 🟩 | - |
| Request | url | 🟩 | - |
| Response | allHeaders | 🟩 | - |
| Response | body | 🟩 | - |
| Response | finished | 🟥 | None |
| Response | frame | 🟩 | - |
| Response | fromServiceWorker | 🟥 | None |
| Response | headerValue | 🟩 | - |
| Response | headerValues | 🟩 | - |
| Response | headers | 🟩 | - |
| Response | headersArray | 🟩 | - |
| Response | json | 🟩 | - |
| Response | ok | 🟩 | - |
| Response | request | 🟩 | - |
| Response | securityDetails | 🟩 | - |
| Response | serverAddr | 🟩 | - |
| Response | size | 🟧 | - |
| Response | status | 🟩 | - |
| Response | statusText | 🟩 | - |
| Response | text | 🟥 | None |
| Response | url | 🟩 | - |
| Route | abort | 🟩 | - |
| Route | continue | 🟩 | - |
| Route | fallback | 🟥 | None |
| Route | fetch | 🟥 | None |
| Route | fulfill | 🟩 | - |
| Route | request | 🟩 | - |
| Touchscreen | tap | 🟩 | - |
| Worker | addListener | 🟥 | None |
| Worker | evaluate | 🟥 | None |
| Worker | evaluateHandle | 🟥 | None |
| Worker | off | 🟥 | None |
| Worker | on | 🟥 | None |
| Worker | once | 🟥 | None |
| Worker | prependListener | 🟥 | None |
| Worker | removeListener | 🟥 | None |
| Worker | url | 🟩 | - |
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video

Performance testing and observability in Grafana Cloud
Optimize user experiences with Grafana Cloud. Learn real-time insights, performance testing with k6, and continuous validation with Synthetic Monitoring.
Events

User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.
