Free tools Windows power users keep installed
One-click scans. No signup required.
Use WebdriverIO’s Browser Runner to render and test components in a real browser. Start the setup wizard in your project, choose the browser runner and your framework preset, then render components with a framework utility and use WebdriverIO commands to interact with them. Run the suite with npx wdio run ./wdio.conf.js.
What WebdriverIO component tests do
The Browser Runner uses Vite to compile test code and serve a test page inside an actual desktop or mobile browser. A rendering utility such as Testing Library mounts the component and helps locate elements; WebdriverIO browser commands then exercise interactions such as clicks. This provides access to browser behavior that a DOM emulator such as JSDOM may not reproduce.
These tests focus on components rendered in the runner’s test page. They do not, by themselves, validate how the entire deployed application works when its routes, services, and other components are integrated.
Set up the Browser Runner
-
From the project directory, run the official setup wizard:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
npm init wdio@latest ./ -
Choose
browseras the runner. Select your framework preset if offered, or chooseOtherfor basic browser-based unit tests. -
Review the generated WDIO configuration. If the project already uses Vite, the setup can reuse its configuration. You can also supply a custom Vite configuration; the Browser Runner adapts it for the test harness.
-
Install the framework’s required Vite plugin and a rendering/testing utility if they are not already installed. The framework guides describe the relevant dependencies.
Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
-
Run the suite:
npx wdio run ./wdio.conf.js
The command above is used in the official React and Vue examples. Check the generated configuration path if your project’s wizard output differs.
Choose a framework preset and dependencies
The current documentation describes presets for React, Preact, Vue, Svelte, SolidJS, and Stencil. Preset availability and integration details can change; consult the live component testing guide and runner reference for your installed setup.
| Framework | Configuration or dependency note |
|---|---|
| React | Use runner: ['browser', { preset: 'react' }]; the guide calls for @vitejs/plugin-react. |
| Vue | Use runner: ['browser', { preset: 'vue' }]; the guide calls for @vitejs/plugin-vue. |
| Preact | The guide identifies @preact/preset-vite. |
| Svelte, SolidJS, Stencil | Presets are listed in the runner documentation; consult the framework-specific setup for required packages and configuration. |
| Other or custom setup | Choose Other for basic browser unit tests, or configure a custom/existing Vite config where appropriate. |
Testing Library or a framework-specific utility is a separate choice from the browser automation runner: the utility renders and queries the component, while WebdriverIO performs browser interactions.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Render, interact with, and assert on a component
The React guide’s basic pattern is to render a component, find a button, click it through WebdriverIO, and assert that the page changed. For example, adapt this pattern to the component and queries in your project:
import { render, screen } from '@testing-library/react'
import Counter from './Counter.js'
describe('Counter', () => {
it('increments when the button is clicked', async () => {
render(<Counter />)
const button = screen.getByRole('button', { name: /increment/i })
await button.click()
await expect(screen.getByText('Count: 1')).toBeDisplayed()
})
})
This illustrates the documented division of work: Testing Library renders and finds elements, and the WDIO element command clicks through the browser interface. Adapt imports, component syntax, and assertions to your project’s installed packages and WDIO version. Vue projects can render with @vue/test-utils or @testing-library/vue, then use WDIO commands for browser interaction.
Keep tests isolated
The runner reference says each test file or group runs within one page and reloads the page between tests. The component-testing overview recommends render helpers that clean up rendered components. If you do not use such a helper, arrange cleanup of your own test container between tests.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Run in CI or through a remote browser
CI headless mode
In the documented configuration, the Browser Runner defaults to headless mode when the CI environment variable is '1' or 'true'. The runner’s headless option can control this behavior. Check the generated configuration and your CI environment rather than assuming a particular mode.
Selenium Grid
If browsers run through Selenium Grid, configure the Browser Runner’s host so the remote browser can reach the machine serving the test files. A browser that cannot access that host may fail to load the test page even when the local project starts correctly.
Important limits and framework-specific caveats
- Test framework: The component-testing overview documents Mocha support and describes Jasmine and Cucumber as being on the roadmap. This can change; confirm current support in the live documentation before choosing a runner configuration.
- Native blocking dialogs: Calls such as
alertandconfirmblock normal communication with the page. The runner supplies mocks with default return values; explicitly mock these APIs when the component behavior depends on a particular result. - Nuxt context: The Vue guide says Nuxt composables and pages are supported with caveats. Modules that require a Nuxt application context cannot be initialized solely in the browser and are generally better covered as end-to-end behavior. Third-party composables may need manual mocks.
- Integrated application behavior: A component test does not replace end-to-end tests for behavior that depends on the running application and its integrations.
Watch mode and debugging
The documentation describes --watch for rerunning changed files and a debug command that stops execution and opens a Node.js REPL while allowing inspection of the browser. It also notes that IDE breakpoints are not yet recognized in the remote browser. See the current component testing documentation for command syntax and current debugging behavior.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Troubleshoot common setup failures
| Symptom | Likely cause | What to check |
|---|---|---|
| The test page fails to compile or load a framework component | The preset, Vite plugin, or Vite configuration does not match the framework. | Check the generated WDIO config, install the framework’s documented Vite plugin, and verify that a custom or existing Vite config can be used by the runner. |
| Tests do not start under the selected test framework | The runner’s documented component-testing support may not include that framework. | Confirm current support in the component-testing guide; the cited overview documents Mocha. |
| A remote Grid browser cannot load the test page | The browser cannot reach the host serving test files. | Set the runner’s host to an address reachable from the remote browser and check network access. |
A test hangs around alert or confirm |
A native blocking dialog is interfering with page communication. | Use the runner’s dialog mocks and set explicit return values for behavior under test. |
| A Nuxt-dependent component fails outside the application | The component relies on Nuxt application context unavailable in the browser-only test setup. | Mock third-party composables where appropriate; use end-to-end coverage for behavior requiring the full Nuxt context. |
| Rendered content leaks between tests | The chosen render helper may not clean up, or a custom container is left mounted. | Use a helper with cleanup behavior or add explicit test-container cleanup. |
Or skip the browser setup
If you need screenshots of web pages rather than component tests, ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF. For example, with cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Can WebdriverIO component tests run on a phone browser?
The Browser Runner documentation describes execution in actual desktop or mobile browsers; the chosen browser and configuration determine the specific target.
Do component tests replace end-to-end tests?
No. They exercise components in the runner’s test page; integrated application flows and behavior that requires application context may need end-to-end coverage.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

