183 articles
Blog & Tutorials
Everything we've published on Vibium — guides, command references, comparisons, and AI-agent recipes, organized by topic.
Getting Started
What Vibium is, how it works, and your first script in Python and JavaScript.
Is Vibium Worth Learning in 2026?
Is Vibium worth learning in 2026? An honest breakdown of who it fits, what it costs to learn, and when to pick it over Playwright or Selenium.
14 min read→Getting StartedLearn Vibium in a Weekend
Learn Vibium in a weekend: a 2-day plan to install it, write real browser scripts, add semantic locators, wire up the MCP server, and ship a project.
14 min read→Getting StartedVibium Cheat Sheet (2026)
The complete Vibium cheat sheet for 2026: install, launch, find, click, type, wait, screenshot, and MCP commands with copy-paste JavaScript and Python.
14 min read→Getting StartedUnderstanding Vibium's Installed Folder Structure
What npm install vibium actually puts on disk — the package, the bundled Go binary, the auto-downloaded Chrome, and where Vibium caches everything.
1 min read→Getting StartedVibium for AI Engineers and Agent Builders
Vibium for AI engineers and agent builders: a hands-on guide to driving a browser from LLM agents via MCP, semantic finds, and the accessibility tree.
15 min read→Getting StartedVibium for Developers
Vibium for developers: a practical guide to AI-native browser automation on WebDriver BiDi, with runnable JS and Python, auto-waiting, and CI setup.
15 min read→Getting StartedVibium for QA Engineers
Vibium for QA engineers: write stable Chrome tests with auto-waiting, semantic locators, tracing, and AI checks. Runnable pytest, Jest, and Mocha code.
14 min read→Getting StartedTop Vibium Interview Questions and Answers
Top Vibium interview questions and answers for 2026: WebDriver BiDi, the Go binary, find(), auto-waiting, the MCP server, and Playwright vs Selenium.
14 min read→Getting StartedVibium Review 2026: An Honest Take
An honest Vibium review for 2026 — what the AI-native browser automation tool does well, where it falls short, real code, and who should actually use it.
14 min read→Getting StartedThe Vibium Roadmap for 2026
The Vibium roadmap for 2026: what shipped, what's next — cross-browser, video recording, AI locators, Java/.NET — and how to plan adoption.
15 min read→Getting StartedVibium Tutorial for Beginners (2026)
A beginner Vibium tutorial for 2026: install it, launch Chrome, find and click elements, take screenshots, and write your first browser automation script.
14 min read→Getting StartedVibium vs Manual Testing
Vibium vs manual testing compared: speed, cost, coverage, and when human testers still win. An honest guide to automating browser checks with Vibium.
12 min read→Getting StartedYour First Vibium Script in JavaScript
Write your first Vibium script in JavaScript: launch Chrome, open a page, find and click elements, and save a screenshot with the sync API in minutes.
3 min read→Getting StartedYour First Vibium Script in Python
Write your first Vibium Python script: launch a browser, visit a page, find and click elements, and save a screenshot in about ten lines of code.
3 min read→Getting StartedHow Vibium Works: BiDi, the Go Binary, and MCP
How Vibium works: a single Go binary speaks WebDriver BiDi to Chrome, enforces auto-waiting, and exposes a built-in MCP server for AI agents. Architecture explained.
4 min read→Getting StartedHow to Install Vibium (Python & Node)
Install Vibium in seconds: pip install vibium for Python or npm install vibium for Node. Learn how the single Go binary auto-downloads Chrome for you.
4 min read→Getting StartedIs Vibium Production-Ready?
Is Vibium production-ready? A candid look at its v1 release, the 26.2 feature set, what's stable, what's still maturing, and when to adopt it for real work.
4 min read→Getting StartedThe Vibium Roadmap, Explained
The Vibium roadmap explained: what shipped in v1 and the 26.2 release, what's next — more browsers, video recording, AI locators, and Java/.NET clients.
4 min read→Getting StartedVibium Sync vs Async API
Vibium ships both a sync and an async API. Learn the difference, see Python and JavaScript examples, and choose the right one for your automation script.
4 min read→Getting StartedWhat Is Vibium? AI-Native Browser Automation Explained
Vibium is an AI-native browser automation tool built on WebDriver BiDi, shipped as a single Go binary with a built-in MCP server. Here's what it is and how it works.
2 min read→Installation
Install Vibium on macOS, Windows, Linux, in Docker and CI, for Python and Node.
How to Install Vibium Behind a Proxy
Install Vibium behind a corporate proxy: set HTTP_PROXY and HTTPS_PROXY so pip, vibium install, and Chrome for Testing all route through the proxy correctly.
4 min read→InstallationHow to Run Vibium in Docker
Run Vibium in Docker: a slim Python image, Chrome's system libraries, and vibium install to bake Chrome for Testing into the layer for fast cold starts.
4 min read→InstallationHow to Use Vibium in GitHub Actions
Run Vibium in GitHub Actions: install on the Ubuntu runner, pip install vibium, vibium install to cache Chrome, then launch headless and upload screenshots.
3 min read→InstallationHow to Install Vibium in a Python venv
Install Vibium in a Python venv: create with python3 -m venv, activate, run pip install vibium, and keep the browser automation isolated from system Python.
4 min read→InstallationHow to Install Vibium on Linux
Install Vibium on Linux with pip or npm, add Chrome's shared system libraries, pre-fetch Chrome for Testing, and run headless automation on any server.
4 min read→InstallationHow to Install Vibium on macOS
Install Vibium on macOS with pip or npm, verify the binary, handle Gatekeeper, and run your first browser script — works on Apple Silicon and Intel Macs.
4 min read→InstallationHow to Install Vibium on Windows
Install Vibium on Windows with pip or npm, activate a virtual environment, pre-fetch Chrome for Testing, and run your first browser automation script.
3 min read→InstallationHow to Pin the Chrome Version in Vibium
Pin the Chrome version in Vibium by pinning the Vibium release and caching Chrome for Testing, so every machine and CI run uses the exact same browser build.
4 min read→Commands & API
A reference page for every Vibium command — find, click, type, screenshot, waits and more.
How to Check a Checkbox in Vibium
Check a checkbox in Vibium with el.check(). Runnable Python examples for ticking, unticking, verifying state, and handling many checkboxes.
3 min read→Commands & APIHow to Clear an Input Field in Vibium
Clear an input field in Vibium with el.clear(). Runnable Python examples for emptying text fields, replacing values, and resetting forms.
2 min read→Commands & APIHow to Click Elements in Vibium
Click buttons and links in Vibium with el.click(). Runnable Python examples plus how auto-waiting and actionability make clicks reliable.
2 min read→Commands & APIHow to Count Elements in Vibium
Count elements in Vibium with el.count() or len(findAll()). Runnable Python examples for counting rows, links, search results, and assertions.
3 min read→Commands & APIHow to Double-Click in Vibium
Double-click elements in Vibium with el.dblclick(). Runnable Python examples for rows and inline edits, plus how auto-waiting keeps clicks reliable.
3 min read→Commands & APIHow to Drag and Drop in Vibium
Drag and drop in Vibium with el.dragTo(target). Runnable Python examples plus low-level mouse control for HTML5 and custom drag interactions.
3 min read→Commands & APIHow to Execute JavaScript in Vibium
Execute JavaScript in Vibium with vibe.evaluate(). Runnable Python examples for reading page values, returning data, and scrolling the page programmatically.
3 min read→Commands & APIHow to Find Elements in Vibium
Find elements in Vibium with find() using CSS or semantic selectors. Runnable Python examples, findAll, and how auto-waiting works.
3 min read→Commands & APIHow to Get an Element Attribute in Vibium
Get an element attribute in Vibium with el.attr(). Runnable Python examples for reading href, src, data-* attributes, and asserting on them.
2 min read→Commands & APIHow to Get and Set Cookies in Vibium
Get and set cookies in Vibium with cookies() and set_cookies(). Runnable Python examples for reading, adding, and clearing cookies to reuse sessions.
3 min read→Commands & APIHow to Get Element Text in Vibium
Read an element's text in Vibium with el.text(). Runnable Python examples for reading headings, asserting content, and looping over results.
2 min read→Commands & APIHow to Handle Alerts and Dialogs in Vibium
Handle alerts, confirms, and prompts in Vibium with on_dialog() and dialog.accept(). Runnable Python examples for accepting, dismissing, and reading dialogs.
4 min read→Commands & APIHow to Hover Over an Element in Vibium
Hover over elements in Vibium with el.hover(). Runnable Python examples for menus and tooltips, plus how auto-waiting keeps hovers reliable.
3 min read→Commands & APIHow to Check if an Element Is Visible in Vibium
Check if an element is visible in Vibium with el.isVisible(). Runnable Python examples for testing visibility, conditional logic, and assertions.
2 min read→Commands & APIHow to Navigate to a URL in Vibium (go)
Navigate to any URL in Vibium with vibe.go(url). Runnable Python examples for opening pages, chaining navigations, and what go() waits for.
2 min read→Commands & APIHow to Press Keyboard Keys in Vibium
Press keyboard keys in Vibium with el.press() and page.keyboard. Runnable Python examples for Enter, Tab, and shortcuts like Control+A.
3 min read→Commands & APIHow to Right-Click (Context Menu) in Vibium
Right-click to open context menus in Vibium using el.bounds() with page.mouse, or the AI-native do() method. Runnable Python examples included.
3 min read→Commands & APIHow to Scroll to an Element in Vibium
Scroll to an element in Vibium with scrollIntoView(), or rely on auto-scroll before clicks. Runnable Python examples and mouse-wheel scrolling.
3 min read→Commands & APIHow to Select a Dropdown Option in Vibium
Select a dropdown option in Vibium with el.selectOption(). Runnable Python examples for value, label, and multi-select, plus auto-waiting tips.
3 min read→Commands & APIHow to Work With iframes in Vibium
Work with iframes in Vibium. Get a frame with page.frame() and call find() on it directly — frames have the full page API, so there is no switchTo().
3 min read→Commands & APIHow to Switch Between Tabs in Vibium
Work with multiple tabs in Vibium. Each page is independently addressable, so there is no switchTo() — just hold a reference and act on it directly.
3 min read→Commands & APIHow to Type Text into Inputs in Vibium
Type into text fields in Vibium with el.type(). Runnable Python examples for filling inputs, plus how auto-waiting keeps typing reliable.
2 min read→Commands & APIHow to Upload a File in Vibium
Upload a file in Vibium with el.setFiles(path) on a file input. Runnable Python examples for single, multiple, and hidden file inputs.
3 min read→Commands & APIWaiting and Actionability in Vibium
How Vibium auto-waits for elements with actionability checks. Learn the visible, stable, receives-events, and enabled gates before every action.
3 min read→Commands & APIHow to Take a Screenshot in Vibium
Capture a full-page or element screenshot in Vibium and save it to disk. Complete, runnable Python examples for the screenshot() command.
2 min read→How-To Recipes
Task-focused guides: automate login, scrape tables, download files, test SPAs.
Accessibility Testing with Vibium
Accessibility testing with Vibium — read the a11y tree, assert on roles, names, and states, and catch WCAG issues in CI with no driver setup.
14 min read→How-To RecipesMixing API + Web Testing with Vibium
Mix API and web testing with Vibium — assert on backend JSON with waitForResponse and route while driving the real UI, in one script.
14 min read→How-To RecipesBulk Data Extraction with Vibium
Bulk data extraction with Vibium: build a repeatable scrape pipeline over a URL list, extract with findAll(), and write clean JSON, CSV, or a database.
13 min read→How-To RecipesE-commerce Test Automation with Vibium
E-commerce test automation with Vibium: script cart, checkout, and payment flows in JS or Python with auto-waiting, AI checks, and CI-ready smoke tests.
15 min read→How-To RecipesUsing Vibium for RPA (Robotic Process Automation)
Use Vibium for RPA to automate repetitive browser tasks — logins, data entry, report downloads, and scraping — code-first, headless, and free.
13 min read→How-To RecipesMonitor Broken Links with Vibium
Monitor broken links with Vibium — crawl every anchor, check each URL's HTTP status in a real Chrome browser, and flag dead 404 and 500 links in CI.
15 min read→How-To RecipesVisual Regression Testing with Vibium
A complete guide to visual regression testing with Vibium — capture PNG baselines, diff every run, stabilize flaky pixels, and gate CI on UI changes.
14 min read→How-To RecipesWeb Scraping with Vibium: Complete Guide
Web scraping with Vibium: launch a real Chrome, extract data with find and findAll, handle pagination and JS-heavy pages, and export to CSV or JSON.
14 min read→How-To RecipesHow to Automate a Checkout Flow with Vibium
Automate an e-commerce checkout with Vibium in Python — add to cart, fill shipping and payment fields, place the order, and verify the confirmation page.
4 min read→How-To RecipesHow to Automate a Google Search with Vibium
Automate a Google search with Vibium in Python — open Google, type a query, submit it, and read the result titles in about ten lines of code.
3 min read→How-To RecipesHow to Automate a Multi-Tab Flow with Vibium
Automate a multi-tab flow with Vibium in Python — open new tabs with new_page(), switch with bring_to_front(), capture popups, and close tabs cleanly.
3 min read→How-To RecipesHow to Automate a Search Box with Vibium
Automate a search box with Vibium in Python — find the input, type your query, press Enter, wait for results to render, and read them back with findAll.
3 min read→How-To RecipesHow to Capture Console Logs with Vibium
Capture browser console logs with Vibium in Python — register on_console() to collect log, warn, and error messages, then read each entry's text and type.
3 min read→How-To RecipesHow to Download a File with Vibium
Trigger and save a browser download with Vibium in Python — use capture.download() to grab the file, read its name, and save it with save_as().
2 min read→How-To RecipesHow to Extract All Links from a Page with Vibium
Extract all links from a page with Vibium in Python — grab every anchor with findAll(), read each href with attr(), and build a clean, de-duplicated URL list.
4 min read→How-To RecipesHow to Export a Scraped Table to CSV with Vibium
Scrape an HTML table and export it to CSV with Vibium in Python — read rows with findAll(), build records, and write them with the built-in csv module.
4 min read→How-To RecipesHow to Fill and Submit a Form with Vibium
Automate an HTML form with Vibium in Python — type into text fields, check boxes, pick dropdown options, submit, and verify the result with auto-waiting.
2 min read→How-To RecipesHow to Dismiss a Cookie Banner with Vibium
Dismiss a cookie banner with Vibium in Python — find the accept or reject button by role and text, click it, and verify the overlay is gone before automating the page.
4 min read→How-To RecipesHow to Wait for a File Download in Vibium
Wait for a file download in Vibium with Python — wrap the triggering click in capture.download(), which blocks until the file finishes downloading.
4 min read→How-To RecipesHow to Monitor Network Requests with Vibium
Monitor network requests with Vibium in Python — log every request and response with onRequest and onResponse, then wait for a specific API call with waitForResponse.
4 min read→How-To RecipesHow to Paginate Through Results with Vibium
Paginate through results with Vibium in Python — loop clicking the Next button, scrape each page with findAll, and stop cleanly when the last page is reached.
4 min read→How-To RecipesHow to Parallelize Scraping with Vibium
Parallelize scraping with Vibium in Python — run many headless browsers at once with a thread pool to scrape a URL list far faster than a serial loop.
4 min read→How-To RecipesHow to Run Vibium Headless on a Server
Run Vibium headless on a Linux server or CI — launch with headless=True, install Chrome's system libraries, and automate browsers with no display.
4 min read→How-To RecipesHow to Scrape a Table with Vibium
Extract rows and cells from an HTML table with Vibium in Python — find the rows with findAll(), read each cell's text with a scoped find, and build clean structured data.
3 min read→How-To RecipesHow to Scrape Behind a Login with Vibium
Scrape data behind a login with Vibium in Python — log in once, then navigate authenticated pages and extract content while the session cookie carries you through.
3 min read→How-To RecipesHow to Scrape an Infinite-Scroll Page with Vibium
Scrape an infinite-scroll page with Vibium in Python — scroll with evaluate(), wait for new items to render, and loop until no more content loads.
4 min read→How-To RecipesHow to Take a Full-Page Screenshot with Vibium
Capture an entire scrolling web page as a single PNG with Vibium in Python — the full-page screenshot pattern, runnable code, and a step-by-step breakdown.
3 min read→How-To RecipesHow to Test a Single-Page App (SPA) with Vibium
Test a React, Vue, or Angular SPA with Vibium in Python — handle client-side routing, wait for async content, and assert on dynamically rendered elements.
3 min read→How-To RecipesHow to Test a React App with Vibium
Test a React app with Vibium in Python — wait for components to render, drive state with click() and type(), and assert on the DOM without flaky sleeps.
4 min read→How-To RecipesHow to Do Visual Regression Testing with Vibium
Do visual regression testing with Vibium in Python — capture PNG baselines with screenshot(), diff them on every run, and catch unintended UI changes.
4 min read→How-To RecipesHow to Wait for AJAX Content in Vibium
Wait for AJAX content in Vibium in Python — let find() auto-wait for rendered elements, wait_for_response() for the network call, and wait_for_function() for state.
4 min read→How-To RecipesHow to Automate a Login Flow with Vibium
Step-by-step guide to automating a website login with Vibium in Python — find the fields, type credentials, submit, and verify the result.
1 min read→Comparisons
Vibium vs Playwright, Selenium, Cypress, Puppeteer — honest, code-rich comparisons.
The Best Cypress Alternatives in 2026
The best Cypress alternatives in 2026 — Vibium, Playwright, Selenium, and Puppeteer compared on run model, languages, AI/MCP support, and use cases.
14 min read→ComparisonsVibium vs Chrome DevTools Protocol (CDP)
Vibium vs Chrome DevTools Protocol (CDP): a high-level, AI-native tool built on WebDriver BiDi versus Chrome's raw low-level automation protocol.
14 min read→ComparisonsVibium vs Katalon Studio: 2026 Comparison
Vibium vs Katalon Studio compared for 2026 — code-first BiDi automation with a built-in MCP server vs a low-code all-in-one testing IDE.
10 min read→ComparisonsVibium vs mabl: AI Testing Compared
Vibium vs mabl compared: an open-source AI-native code library vs a low-code AI testing SaaS platform. An honest 2026 guide to choosing.
15 min read→ComparisonsVibium vs Nightwatch.js: 2026 Comparison
Vibium vs Nightwatch.js compared — protocol, language support, test runner, AI/MCP integration, and ideal use cases. An honest 2026 look at when to choose each.
11 min read→ComparisonsVibium vs Robot Framework: 2026 Comparison
Vibium vs Robot Framework compared — architecture, syntax, language support, AI/MCP integration, and ecosystem. An honest look at when to choose each.
15 min read→ComparisonsVibium vs Selenium 4 (WebDriver BiDi)
Vibium vs Selenium 4 WebDriver BiDi compared — protocol depth, drivers, AI/MCP, and DX. An honest look at when to choose each in 2026.
14 min read→ComparisonsVibium vs TestCafe: 2026 Comparison
Vibium vs TestCafe compared for 2026 — proxy vs BiDi architecture, languages, AI/MCP, waiting, and when to choose each browser automation tool.
14 min read→ComparisonsVibium vs Testim: AI Test Automation Compared
Vibium vs Testim compared: an open-source BiDi engine with a built-in MCP server vs Testim's low-code, ML self-healing test platform. Honest 2026 guide.
15 min read→ComparisonsVibium vs WebdriverIO: 2026 Comparison
Vibium vs WebdriverIO for 2026 — protocol, languages, test runner, AI/MCP, and ecosystem. An honest look at when to choose each.
15 min read→ComparisonsThe Best AI Browser Automation Tools in 2026
The best AI browser automation tools in 2026 — Vibium, Playwright MCP, and more compared on MCP support, protocol, languages, and agentic use cases.
3 min read→ComparisonsThe Best Playwright Alternatives in 2026
The best Playwright alternatives in 2026 — Vibium, Selenium, Cypress, and Puppeteer compared on protocol, languages, AI/MCP support, and ideal use cases.
3 min read→ComparisonsThe Best Selenium Alternatives in 2026
The best Selenium alternatives in 2026 — Vibium, Playwright, Cypress, and Puppeteer compared on protocol, languages, AI/MCP support, and ideal use cases.
4 min read→ComparisonsIs Vibium Faster Than Playwright?
Is Vibium faster than Playwright? An honest look at startup, protocol, and runtime speed — where each tool wins and why benchmarks depend on your workload.
4 min read→ComparisonsHow to Migrate from Playwright to Vibium
How to migrate from Playwright to Vibium — map Playwright's API to Vibium's BiDi-native commands and gain a built-in MCP server and AI methods.
4 min read→ComparisonsHow to Migrate from Selenium to Vibium
How to migrate from Selenium to Vibium — use the Selenium compatibility layer to drop driver binaries, then move to Vibium's BiDi-native API.
4 min read→ComparisonsSelenium vs Playwright vs Vibium
Selenium vs Playwright vs Vibium compared on protocol, languages, AI/MCP support, and ideal use cases — an honest 2026 three-way breakdown.
4 min read→ComparisonsVibium vs browser-use
Vibium vs browser-use compared — deterministic BiDi automation vs an LLM-driven agent framework. An honest look at when to choose each in 2026.
4 min read→ComparisonsVibium vs Cypress: 2026 Comparison
Vibium vs Cypress compared — run model, language support, protocol, AI/MCP integration, and ideal use cases. An honest look at when to choose each.
4 min read→ComparisonsVibium vs Playwright MCP
Vibium vs Playwright MCP compared — protocol, packaging, setup, and which browser MCP server to give your AI agent in 2026. An honest, fair breakdown.
4 min read→ComparisonsVibium vs Puppeteer: 2026 Comparison
Vibium vs Puppeteer compared — protocol, language support, browser coverage, AI/MCP integration, and ecosystem. An honest look at when to choose each.
3 min read→ComparisonsVibium vs Selenium: 2026 Comparison
Vibium vs Selenium compared — protocol, architecture, language support, AI/MCP integration, and ecosystem. An honest look at when to choose each.
3 min read→ComparisonsVibium vs Skyvern
Vibium vs Skyvern compared — a deterministic BiDi engine vs a vision-LLM workflow agent. An honest 2026 breakdown of when to choose each.
4 min read→ComparisonsVibium vs Stagehand
Vibium vs Stagehand compared — a BiDi-first single-binary engine vs an AI layer on top of Playwright. An honest 2026 breakdown of when to choose each.
4 min read→ComparisonsWhen Should You Use Vibium?
When to use Vibium: a fair guide to where Vibium's BiDi-first, MCP-built-in, single-binary design wins — and where Playwright or Selenium still fit better.
4 min read→ComparisonsVibium vs Playwright: An Honest 2026 Comparison
Vibium vs Playwright compared — protocol, architecture, language support, AI/MCP integration, and ecosystem. When to choose each browser automation tool.
2 min read→MCP & AI Agents
Give AI agents browser access — set up Vibium MCP in Claude Code, Cursor, and more.
Plain English to Browser Actions with Vibium MCP
Describe a web task in plain English and let an AI agent run it in a real browser through Vibium's MCP server — how it works and how to write good prompts.
2 min read→MCP & AI AgentsHow to Use Vibium MCP with GitHub Copilot
Wire Vibium's MCP server into GitHub Copilot in VS Code and drive a real browser from Copilot's Agent mode — Ask, Edit, and Agent modes explained.
2 min read→MCP & AI AgentsAgentic Web Testing with Vibium
Agentic web testing with Vibium: let an AI agent explore, drive, and verify your app in a real browser via Vibium's MCP server and auto-waiting actions.
5 min read→MCP & AI AgentsHow to Build an AI Agent That Browses the Web with Vibium
Build an AI agent that browses the web with Vibium — wire its built-in MCP server to an LLM so the agent can navigate, read, click, and screenshot live pages.
5 min read→MCP & AI AgentsHow to Debug the Vibium MCP Server
Debug the Vibium MCP server: verify it starts, test JSON-RPC by hand, list tools, fix Chrome launch and zombie-process issues, and read MCP errors.
5 min read→MCP & AI AgentsHow to Give Claude Browser Access with Vibium
Give Claude a real browser using Vibium's built-in MCP server. Once connected, Claude can navigate, click, type, and screenshot live web pages on its own.
3 min read→MCP & AI AgentsHow to Let an LLM Fill Forms with Vibium
Let an LLM fill forms with Vibium by connecting its built-in MCP server, then describe the form in plain English and let the model type and submit it.
4 min read→MCP & AI AgentsHow to Set Up Vibium MCP in Cursor
Connect Vibium's built-in MCP server to Cursor so the AI editor can drive a real browser — navigate, click, type, and screenshot — straight from your chat.
3 min read→MCP & AI AgentsHow to Verify an AI-Built App with Vibium
Verify an AI-built app with Vibium by letting the agent open the running app in a real browser, check the UI, and confirm flows end to end before you ship.
4 min read→MCP & AI AgentsHow to Set Up Vibium MCP in Claude Desktop
Set up Vibium MCP in Claude Desktop so the desktop app can drive a real browser — navigate, click, type, and screenshot — via a simple JSON config entry.
4 min read→MCP & AI AgentsHow to Set Up Vibium MCP in Gemini CLI
Set up Vibium MCP in Gemini CLI so Google's terminal AI can drive a real browser — navigate, click, type, and screenshot — with one command or a JSON config.
4 min read→MCP & AI AgentsHow to Set Up Vibium MCP in Windsurf
Set up Vibium MCP in Windsurf so Cascade can drive a real browser — navigate, click, type, and screenshot — through a single MCP config entry.
4 min read→MCP & AI AgentsVibium MCP: A Complete Overview
Vibium MCP is a built-in Model Context Protocol server that gives AI agents a real browser — navigate, click, type, and screenshot with no glue code.
4 min read→MCP & AI AgentsVibium MCP Security Considerations
Vibium MCP security: what an LLM with browser access can do, the real risks of prompt injection and credentials, and practical steps to scope it safely.
4 min read→MCP & AI AgentsVibium MCP Tools Reference
Vibium MCP tools reference: every browser tool the built-in MCP server exposes — launch, navigate, find, click, type, screenshot, tabs — with arguments.
5 min read→MCP & AI AgentsHow to Use Vibium with LangChain
Use Vibium with LangChain to give an agent a real browser — wrap Vibium's Python API as LangChain tools, or load its built-in MCP server as a toolset.
5 min read→MCP & AI AgentsHow to Set Up Vibium MCP in Claude Code
Give Claude Code a real browser. Register Vibium's built-in MCP server with one 'claude mcp add' command so your agent can navigate, click, type, and screenshot.
4 min read→Concepts & Internals
WebDriver BiDi, the accessibility tree, actionability, self-healing locators, tracing.
WebDriver BiDi vs CDP: What's the Difference?
WebDriver BiDi vs CDP: both are bidirectional protocols, but BiDi is a cross-browser W3C standard while CDP is Chrome-specific and vendor-controlled.
4 min read→Concepts & InternalsEvent-Driven Browser Automation with Vibium
Event-driven browser automation with Vibium uses WebDriver BiDi's pushed events for auto-waiting, console capture, and reliable scripts without sleeps.
4 min read→Concepts & InternalsHow Vibium's Actionability (Auto-Wait) Works
Vibium's actionability auto-wait runs checks (visible, stable, receives events, enabled, editable) server-side in Go before each action — skip sleeps.
4 min read→Concepts & InternalsSelf-Healing Locators in Vibium, Explained
Vibium has no bolt-on self-healing locator engine — it earns resilience via semantic selectors, accessibility-tree finding, pickBest, and auto-wait.
4 min read→Concepts & InternalsSync vs Async in Vibium: How It Works Under the Hood
Sync vs async in Vibium under the hood: both clients call the same Go binary over a local WebSocket, so blocking and awaiting share one automation engine.
4 min read→Concepts & InternalsFinding Elements with the Accessibility Tree in Vibium
Use Vibium's a11y_tree() to inspect a page the way assistive tech sees it, then find and click elements by role and name — resilient, human-like selectors.
4 min read→Concepts & InternalsInside Vibium's Single Go Binary Architecture
Vibium ships as one ~10MB Go binary bundling browser management, a WebDriver BiDi proxy, auto-wait, and an MCP server. Here's the architecture.
5 min read→Concepts & InternalsHow Vibium Manages the Browser Process Lifecycle
How Vibium manages the browser process lifecycle: launching Chrome, the process tree it spawns, and how it cleans up so you don't leave zombie processes.
4 min read→Concepts & InternalsUnderstanding the Vibium Trace Format
The Vibium trace format is a zip of newline-delimited JSON — a timeline, a network HAR stream, and SHA1-named resources — viewable at trace.vibium.dev.
4 min read→Concepts & InternalsWebDriver BiDi vs Classic WebDriver
WebDriver BiDi vs Classic WebDriver, the protocol behind Vibium: BiDi is bidirectional over WebSockets with pushed events; classic is one-way HTTP.
4 min read→Concepts & InternalsWhat Is WebDriver BiDi?
WebDriver BiDi is the W3C standard for bidirectional browser automation that powers Vibium. Here's what it is, where it came from, and why it matters.
3 min read→Concepts & InternalsWhy Vibium Chose WebDriver BiDi
Why Vibium chose WebDriver BiDi: a vendor-neutral W3C standard with real-time events, cross-browser reach, and stability proprietary protocols lack.
4 min read→Troubleshooting
Fix common Vibium errors — install failures, timeouts, element-not-found, MCP issues.
10 Common Vibium Mistakes and How to Fix Them
10 common Vibium mistakes and how to fix them — manual sleeps, brittle CSS, missing quit(), sync/async mix-ups, iframe misses, and headless-only bugs.
14 min read→TroubleshootingThe Complete Vibium Debugging Guide
The complete Vibium debugging guide — verbose logs, actionability checks, screenshots, tracing, and zombie-process fixes to find why a script fails fast.
14 min read→TroubleshootingFixing Flaky Vibium Tests: The Complete Guide
Fixing flaky Vibium tests: diagnose the root cause, replace sleeps with auto-waiting, stabilize selectors, mock the network, and gate CI on green.
15 min read→TroubleshootingFix: Vibium Screenshot Comes Out Blank
Why your Vibium screenshot comes out blank or white, and how to fix it — wait for content, full_page=True, set a viewport, and verify the PNG bytes.
4 min read→TroubleshootingFix: Vibium Chrome Download Fails
Vibium Chrome download fails on first launch? Fix it with vibium install, by clearing network/proxy and disk-space blocks, plus Linux deps.
4 min read→TroubleshootingFix: Vibium 'Element Not Found' Errors
Fix Vibium 'element not found' errors — correct the selector, switch to semantic find, handle iframes and timing, and target elements the way a user sees them.
4 min read→TroubleshootingFix: Flaky Clicks in Vibium
Fix flaky clicks in Vibium — let actionability auto-wait handle timing, target the right element under overlays, and stop adding brittle sleep() calls.
4 min read→TroubleshootingFix: Vibium Headless Crashes on Linux
Fix Vibium headless crashes on Linux — install Chrome's missing shared libraries, add --no-sandbox in containers, and give /dev/shm enough space.
4 min read→TroubleshootingFix: Vibium Install Fails
Vibium install fails? Fix pip install vibium and npm install vibium errors: wrong runtime version, inactive venv, wrong directory, stale package manager.
4 min read→TroubleshootingFix: Vibium MCP Server Not Connecting
Fix Vibium MCP server not connecting — verify the config, restart your AI client to re-run tool discovery, and confirm Chrome for Testing is installed.
4 min read→TroubleshootingFix: Vibium Permission Errors on macOS
Fix Vibium permission errors on macOS — clear Gatekeeper quarantine on the downloaded Chrome, fix cache write permissions, and grant Screen Recording access.
4 min read→TroubleshootingFix: Vibium 'Port Already in Use'
Fix Vibium 'port already in use' errors — clean up orphaned Chrome and chromedriver processes, free the stuck port, and stop sessions leaking between runs.
4 min read→TroubleshootingFix: Vibium Proxy and SSL Errors
Fix Vibium proxy and SSL errors — route Chrome through a proxy, ignore self-signed cert warnings, and unblock the first-run Chrome download.
4 min read→TroubleshootingFix: Slow Vibium Performance
Fix slow Vibium performance — run headless, pre-download Chrome, reuse one session, use precise selectors, and tune timeouts for fast runs.
4 min read→TroubleshootingFix: Stale Element Errors in Vibium
Fix stale element errors in Vibium — re-find the element after the DOM changes instead of reusing an old handle, and lean on auto-wait and semantic selectors.
4 min read→TroubleshootingFix: Vibium Timeout Errors
Fix Vibium timeout errors — understand the 30s actionability wait, find the real cause (hidden, disabled, or obscured elements), and stop the flaky timeouts.
4 min read→TroubleshootingFix: Vibium Version Mismatch Errors
Fix Vibium version mismatch errors — upgrade the client, clear the cached Chrome for Testing, re-run vibium install, and align Python and Node versions.
4 min read→Best Practices
Page objects, suite structure, CI/CD, waiting strategies, and flake-free tests.
Vibium Best Practices: The Complete Guide
Vibium best practices for reliable browser automation: semantic locators, actionability waits, page objects, isolation, CI, and AI checks.
13 min read→Best PracticesA Complete Vibium CI/CD Pipeline
Build a complete Vibium CI/CD pipeline: install, headless run, parallel shards, artifact capture, and quality gates that block bad merges on every push.
12 min read→Best PracticesData-Driven Testing with Vibium
Data-driven testing with Vibium: feed one browser test many rows from arrays, CSV, or JSON, loop over cases, and keep the automation logic in one place.
15 min read→Best PracticesRun Vibium with Docker Compose
Run Vibium with Docker Compose: orchestrate a headless test service, an app-under-test, mounted artifact volumes, healthchecks, and parallel workers.
15 min read→Best PracticesRun Vibium Tests on Kubernetes
Run Vibium tests on Kubernetes: build a headless image, ship it as a Job, scale parallel Pods, and pull screenshots and traces as artifacts.
15 min read→Best PracticesPage Object Model with Vibium: Full Tutorial
A full Page Object Model with Vibium tutorial — build base, login, and dashboard page classes in JavaScript, wire them into tests, and keep locators DRY.
16 min read→Best PracticesParallel Vibium Testing at Scale
A field guide to parallel Vibium testing at scale: shard across CI machines, size workers by memory, pool browsers vs contexts, and keep flake near zero.
15 min read→Best PracticesVibium Performance Optimization
Vibium performance optimization: run headless, reuse contexts, parallelize, trust auto-wait, and cut network overhead to make browser automation fast.
15 min read→Best PracticesBuild a Vibium Test Framework From Scratch
Build a Vibium test framework from scratch: project layout, config, page objects, fixtures, reporting, and CI — a step-by-step JS and Python blueprint.
14 min read→Best PracticesVibium with Allure Reports
Wire Vibium into Allure Reports — attach screenshots, steps, and page HTML to a rich HTML report from your pytest, Jest, or Cucumber Vibium suite.
16 min read→Best PracticesRun Vibium Tests in Azure DevOps
Run Vibium tests in Azure DevOps Pipelines: install on a Microsoft-hosted agent, run headless, publish screenshots and traces, and cache Chrome.
14 min read→Best PracticesRun Vibium Tests in CircleCI
Run Vibium tests in CircleCI: a config.yml that installs vibium, runs headless, caches Chrome, splits tests in parallel, and stores failure artifacts.
16 min read→Best PracticesBDD with Vibium and Cucumber
BDD with Vibium and Cucumber — map Gherkin Given/When/Then steps to Vibium browser actions, share state via the World, in JavaScript and Python.
15 min read→Best PracticesRun Vibium Tests in GitLab CI
Run Vibium tests in GitLab CI: a headless .gitlab-ci.yml pipeline with cached Chrome, JUnit reports, and screenshots or traces as failure artifacts.
14 min read→Best PracticesRun Vibium Tests in Jenkins
Run Vibium tests in Jenkins: write a Jenkinsfile, install Chrome libraries, run headless, and archive screenshots and traces as build artifacts on failure.
15 min read→Best PracticesHow to Use Vibium with Jest
Use Vibium with Jest to run AI-native browser tests: a shared browser fixture, per-test isolation, screenshot-on-failure, and clean CI runs.
13 min read→Best PracticesHow to Use Vibium with pytest
Use Vibium with pytest: wrap the browser in a fixture, write assertions, isolate state per test, capture screenshots on failure, and run headless in CI.
15 min read→Best PracticesHow to Use Vibium with TypeScript
How to use Vibium with TypeScript: install, configure tsconfig and ESM, get typed Browser/Page/Element autocomplete, and write sync or async automation.
15 min read→Best PracticesRunning Vibium in CI/CD with GitHub Actions
Run Vibium tests in CI/CD with GitHub Actions — install on a runner, run headless, and upload screenshots and traces as artifacts on failure.
4 min read→Best PracticesHow to Write Flake-Free Vibium Tests
Write flake-free Vibium tests by trusting auto-waiting, using semantic selectors, isolating state with browser contexts, and controlling the clock and network.
4 min read→Best PracticesThe Page Object Model with Vibium
Apply the Page Object Model in Vibium with Python — wrap pages in classes, centralize locators, and keep tests readable, DRY, and resilient to UI change.
4 min read→Best PracticesHow to Parallelize Vibium Tests
Parallelize Vibium tests with pytest-xdist — give each test its own browser or context, run workers in parallel, and cut suite time without flaky cross-talk.
4 min read→Best PracticesSelector Best Practices in Vibium
Selector best practices in Vibium: prefer semantic finds (role, text, label, testid) over brittle CSS, scope your locators, and lean on auto-waiting.
4 min read→Best PracticesHow to Structure a Vibium Test Suite
Structure a Vibium test suite with Python and pytest — organize page objects, fixtures, and config so your browser tests stay fast, isolated, and maintainable.
4 min read→Best PracticesVibium Coding Standards & Conventions
Vibium coding standards and conventions: naming per language, structuring scripts, choosing sync vs async, clean teardown, and writing agent-friendly automation.
4 min read→Best PracticesVibium Waiting Strategies (Best Practices)
Master Vibium waiting strategies in Python — rely on auto-waiting find(), wait for elements, network responses, and page state instead of brittle sleep() calls.
5 min read→