Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Chrome DevTools
  3. k6 browser

k6 browser

AGPL-3.0Gov1.10.0

A k6 module for browser automation and end-to-end web testing with Playwright-like APIs and Chrome DevTools Protocol.

Visit WebsiteGitHubGitHub
358 stars42 forks0 contributors

What is k6 browser?

xk6-browser is a browser automation module for the k6 load testing platform. It adds browser-level APIs to k6, enabling end-to-end web testing and frontend performance metric collection via the Chrome DevTools Protocol. It solves the problem of integrating browser interactions and user experience measurements into load and performance tests.

Target Audience

Performance engineers and developers using k6 for load testing who need to simulate real user browser interactions and measure frontend performance as part of their tests.

Value Proposition

Developers choose xk6-browser because it seamlessly integrates browser automation into k6's existing testing framework, offers rough Playwright API compatibility for easier adoption, and focuses on test stability with non-flaky selectors and auto-waiting.

Overview

The browser module adds support for browser automation and end-to-end web testing via the Chrome Devtools Protocol to k6.

Use Cases

Best For

  • Adding browser automation to existing k6 load tests
  • Collecting frontend performance metrics during load testing
  • End-to-end web testing with real browser interactions
  • Simulating user journeys for performance analysis
  • Integrating Playwright-like APIs into a Go-based testing tool
  • Testing web applications with Chromium-based browsers

Not Ideal For

  • Teams requiring cross-browser testing with immediate Firefox or WebKit support
  • Projects using non-k6 testing frameworks like Selenium or Cypress for functional testing
  • Simple, one-off browser automation scripts without load testing needs
  • Environments where Go-based tooling is a barrier or not preferred

Pros & Cons

Pros

Seamless k6 Integration

Works directly with k6's VU executors, scenarios, and metrics, allowing browser automation to be embedded into existing load tests without extra setup, as it's now a core module from k6 v0.52.0.

Playwright API Compatibility

Offers rough API compatibility with Playwright, reducing the learning curve for users familiar with its patterns, as stated in the project goals.

Test Stability Features

Incorporates non-flaky selectors and auto-waiting for actions, similar to Playwright, to improve reliability and minimize flaky tests in load testing scenarios.

Frontend Metrics Collection

Collects web performance data like page load times and resource timings during k6 tests, enabling comprehensive user experience measurement alongside backend performance.

Cons

Limited Browser Support

Currently only supports Chromium-compatible browsers, with Firefox and WebKit support still in development, restricting cross-browser testing capabilities as noted in the README.

API Transition State

The API is still transitioning, leading to potential breaking changes and inaccurate documentation snippets, as warned in the README's additional resources section.

k6 Ecosystem Dependency

Tightly coupled with k6, requiring adoption of the k6 platform for load testing, which adds complexity for teams not already invested in the k6 ecosystem.

Performance Overhead

Browser automation adds significant resource overhead compared to pure protocol-level k6 tests, which may not be suitable for high-scale load testing without careful planning.

Frequently Asked Questions

Quick Stats

Stars358
Forks42
Contributors0
Open Issues0
Last commit1 year ago
CreatedSince 2021

Tags

#load-testing#cdp#k6#end-to-end-testing#web-testing#chrome-devtools-protocol#test-automation#performance-metrics#browser-automation

Built With

G
Go
C
Chrome DevTools Protocol

Links & Resources

Website

Included in

Chrome DevTools6.9k
Auto-fetched 1 day ago

Related Projects

Puppeteer IDEPuppeteer IDE

Standalone puppeteer playground in browser's developer tools.

Stars243
Forks26
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub