{"id":14155489,"url":"https://github.com/grafana/xk6-browser","last_synced_at":"2025-03-27T21:05:28.181Z","repository":{"id":37360223,"uuid":"345403438","full_name":"grafana/xk6-browser","owner":"grafana","description":"The browser module adds support for browser automation and end-to-end web testing via the Chrome Devtools Protocol to k6.","archived":false,"fork":false,"pushed_at":"2024-12-06T17:35:11.000Z","size":16297,"stargazers_count":346,"open_issues_count":298,"forks_count":41,"subscribers_count":146,"default_branch":"main","last_synced_at":"2024-12-06T21:15:29.255Z","etag":null,"topics":["browser-automation","cdp","chromedevtoolsprotocol","end-to-end-testing","k6"],"latest_commit_sha":null,"homepage":"https://grafana.com/docs/k6/latest/javascript-api/k6-browser/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-07T17:02:34.000Z","updated_at":"2024-12-06T09:07:45.000Z","dependencies_parsed_at":"2023-09-27T13:23:21.589Z","dependency_job_id":"b8baf8df-521e-4b3c-86ed-375f5603d0f8","html_url":"https://github.com/grafana/xk6-browser","commit_stats":{"total_commits":2547,"total_committers":26,"mean_commits":97.96153846153847,"dds":0.4664310954063604,"last_synced_commit":"3ab4701130cd70cf03eddd157826e3218d11cff3"},"previous_names":["k6io/xk6-browser"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fxk6-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fxk6-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fxk6-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fxk6-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafana","download_url":"https://codeload.github.com/grafana/xk6-browser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924502,"owners_count":20694728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-automation","cdp","chromedevtoolsprotocol","end-to-end-testing","k6"],"created_at":"2024-08-17T08:03:28.828Z","updated_at":"2025-03-27T21:05:28.153Z","avatar_url":"https://github.com/grafana.png","language":"Go","funding_links":[],"categories":["DevTools Extensions","others"],"sub_categories":["Automation"],"readme":"\u003e [!WARNING]\n\u003e Starting from k6 version v0.56, this codebase has been merged and is now part of the [main k6 repository](https://github.com/grafana/k6). Please contribute and [open issues there](https://github.com/grafana/k6/issues). This repository is no longer maintained.\n\n\u003ch3 align=\"center\"\u003eBrowser automation and end-to-end web testing for k6\u003c/h3\u003e\n\u003cp align=\"center\"\u003eA module for k6 adding browser-level APIs with rough Playwright compatibility.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/grafana/xk6-browser/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/grafana/xk6-browser.svg\" alt=\"Github release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/grafana/xk6-browser/actions/workflows/test.yml\"\u003e\u003cimg src=\"https://github.com/grafana/xk6-browser/actions/workflows/test.yml/badge.svg\" alt=\"Build status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/grafana/xk6-browser\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/grafana/xk6-browser\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://twitter.com/k6_io\"\u003e\u003cimg src=\"https://img.shields.io/badge/twitter-@k6_io-55acee.svg\" alt=\"@k6_io on Twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/grafana/k6/releases/latest\"\u003eDownload\u003c/a\u003e ·\n    \u003ca href=\"https://grafana.com/docs/k6/latest/javascript-api/k6-browser\"\u003eDocumentation\u003c/a\u003e ·\n    \u003ca href=\"https://community.grafana.com/c/grafana-k6/k6-browser/79\"\u003eCommunity Forum\u003c/a\u003e ·\n    \u003ca href=\"https://github.com/orgs/grafana/projects/443/views/1\"\u003ePublic Roadmap\u003c/a\u003e ·\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\u003cimg src=\"assets/github-hr.svg\" height=\"32\" alt=\"---\" /\u003e\n\u003cbr/\u003e\n\n**k6-browser** is a [k6](https://grafana.com/docs/k6/latest/) module that supports browser automation through the [Chrome Devtools Protocol](https://chromedevtools.github.io/devtools-protocol/) (CDP). It adds browser-level APIs to interact with browsers and collect frontend performance metrics as part of your k6 tests.\n\n**As of [k6 version 0.52.0](https://github.com/grafana/k6/releases/tag/v0.52.0), k6-browser is now bundled in k6 as a core module and usable without a separate binary or compilation step!**\n\nSpecial acknowledgment to the authors of [Playwright](https://playwright.dev/) and [Puppeteer](https://github.com/puppeteer/puppeteer) for their trailblazing work in this area.\n\n## Goals\n\n- Bring browser automation to the k6 testing platform while supporting core k6 features like VU executors, scenarios, metrics, checks, thresholds, logging, DNS remapping, IP blocklists, etc.\n- Test stability as the top priority by supporting non-flaky [selectors](https://playwright.dev/docs/api/class-selectors) combined with [auto-waiting](https://playwright.dev/docs/actionability/) for actions just like Playwright.\n- Aim for rough API compatibility with [Playwright](https://github.com/microsoft/playwright). The reason for this is twofold: first, we don't want users to have to learn a completely new API just to use xk6-browser, and second, it opens up the possibility of using the [Playwright RPC server](https://github.com/mxschmitt/playwright-go) as an optional backend for the k6 browser module should we decide to support that in the future.\n- Support for Chromium-compatible browsers first, and eventually Firefox and WebKit-based browsers.\n\nPlease take a look at our [project roadmap](https://github.com/orgs/grafana/projects/443/views/1) for more details.\n\n## Get started\n\n- [Getting Started](https://grafana.com/docs/k6/latest/using-k6-browser/)\n- [Running xk6-browser](https://grafana.com/docs/k6/latest/using-k6-browser/running-browser-tests/)\n- [Browser Metrics](https://grafana.com/docs/k6/latest/using-k6-browser/metrics/)\n- [Selecting Elements](https://grafana.com/docs/k6/latest/using-k6-browser/recommended-practices/selecting-elements/)\n\n## Documentation\n\n- [Releases](https://github.com/grafana/xk6-browser/releases)\n- [API Documentation](https://grafana.com/docs/k6/latest/javascript-api/k6-browser) - This documents how to use our API and its current state with xk6-browser.\n\n## Get help\n\n- If you're having issues installing or running xk6-browser, refer to [TROUBLESHOOTING](/TROUBLESHOOTING.md).\n- To get help with usage, report bugs, suggest features, and discuss xk6-browser with other users, see [SUPPORT.md](SUPPORT.md).\n- Community discussion happens at the [xk6-browser forum](https://community.grafana.com/c/grafana-k6/k6-browser/79).\n\n## Additional resources\n\nTo find out more about xk6-browser or browser testing in general, check out the following links.\n\n**Note:** Since our API is still transitioning, some of the code snippets from the links below might be inaccurate, though the concepts should still be correct. For the latest, please take a look at our up-to-date [API documentation](https://grafana.com/docs/k6/latest/javascript-api/k6-browser).\n\n- [How to add browser-level APIs for web performance metrics](https://grafana.com/blog/2023/01/08/how-to-add-browser-level-apis-for-web-performance-metrics/) - This post explains how to get started with k6 browser to interact with browsers and collect web performance metrics as part of your Grafana k6 tests.\n- [Using k6 browser](https://grafana.com/docs/k6/latest/using-k6-browser/) - Get started with the k6 browser module.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Fxk6-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafana%2Fxk6-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Fxk6-browser/lists"}