VLearnVibium

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.

Getting Started

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 Started

Learn 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 Started

Vibium 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 Started

Understanding 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 Started

Vibium 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 Started

Vibium 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 Started

Vibium 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 Started

Top 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 Started

Vibium 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 Started

The 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 Started

Vibium 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 Started

Vibium 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 Started

Your 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 Started

Your 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 Started

How 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 Started

How 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 Started

Is 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 Started

The 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 Started

Vibium 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 Started

What 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.

Installation

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
Installation

How 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
Installation

How 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
Installation

How 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
Installation

How 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
Installation

How 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
Installation

How 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
Installation

How 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.

Commands & API

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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

How 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 & API

Waiting 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 & API

How 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.

How-To Recipes

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 Recipes

Mixing 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 Recipes

Bulk 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 Recipes

E-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 Recipes

Using 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 Recipes

Monitor 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 Recipes

Visual 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 Recipes

Web 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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 Recipes

How 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.

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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

The 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
Comparisons

The 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
Comparisons

The 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
Comparisons

Is 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
Comparisons

How 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
Comparisons

How 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
Comparisons

Selenium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

Vibium 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
Comparisons

When 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
Comparisons

Vibium 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.

MCP & AI Agents

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 Agents

How 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 Agents

Agentic 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

How 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 Agents

Vibium 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 Agents

Vibium 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 Agents

Vibium 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 Agents

How 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 Agents

How 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.

Concepts & Internals

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 & Internals

Event-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 & Internals

How 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 & Internals

Self-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 & Internals

Sync 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 & Internals

Finding 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 & Internals

Inside 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 & Internals

How 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 & Internals

Understanding 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 & Internals

WebDriver 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 & Internals

What 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 & Internals

Why 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.

Troubleshooting

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
Troubleshooting

The 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
Troubleshooting

Fixing 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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
Troubleshooting

Fix: 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.

Best Practices

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 Practices

A 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 Practices

Data-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 Practices

Run 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 Practices

Run 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 Practices

Page 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 Practices

Parallel 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 Practices

Vibium 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 Practices

Build 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 Practices

Vibium 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 Practices

Run 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 Practices

Run 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 Practices

BDD 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 Practices

Run 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 Practices

Run 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 Practices

How 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 Practices

How 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 Practices

How 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 Practices

Running 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 Practices

How 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 Practices

The 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 Practices

How 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 Practices

Selector 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 Practices

How 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 Practices

Vibium 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 Practices

Vibium 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