Use Puppeteer’s experimental page.bluetooth API to emulate an adapter in software; you do not need a physical Bluetooth adapter for this workflow. Turn the emulated adapter on, describe a simulated peripheral, run your app’s Web Bluetooth code, then disable emulation. This tests browser-side behavior with a virtual device—not interoperability with actual hardware.
Emulate an adapter and simulate a peripheral
The documented API is experimental, so check that the Puppeteer version in your project exposes these methods before adopting the example. The Bluetooth API reference shows the sequence below: Puppeteer BluetoothEmulation interface.
As an Amazon Associate I earn from qualifying purchases.
const browser = await puppeteer.launch();
const context = await browser.createBrowserContext();
const page = await context.newPage();
try {
await page.goto('http://localhost:3000');
// Turn on a software-emulated Bluetooth adapter.
await page.bluetooth.emulateAdapter('powered-on');
// Make a simulated peripheral available to the page.
await page.bluetooth.simulatePreconnectedPeripheral({
address: '01:02:03:04:05:06',
name: 'Test Peripheral',
manufacturerData: new Map([
[0x1234, Buffer.from([0x01, 0x02])],
]),
knownServices: ['battery_service'],
});
// Trigger the application behavior that uses Web Bluetooth.
await page.click('#connect');
// Add assertions for your application here.
} finally {
await page.bluetooth.disableEmulation();
await browser.close();
}
The address and name identify the virtual peripheral in the test; they are example values, not a real device identity. manufacturerData maps a manufacturer identifier to encoded bytes, and knownServices lists service UUIDs the peripheral is known to provide. Replace the sample service and data with values meaningful to the application under test.
Recommended Free Tools
The API also documents emulateAdapter(state, leSupported?); the state in this example is 'powered-on'. Consult the version-specific reference for accepted states and argument details. Call disableEmulation() during cleanup so later test work does not inherit the emulated state.
#1 Best Overall
- Bluetooth 5.4 + Broad Compatibility - Provides Bluetooth 5.4 plus EDR technology and is backward compatible with Bluetooth V5.3/5.0/4.2/4.0/3.0/2.1/2.0/1.1.
- Faster Speed, Extended Range - Get up to 2x faster data transfer and 4x broader coverage compared to Bluetooth 4.0 — perfect for smooth audio streaming and stable connections.
- EDR and BLE Technology - This Bluetooth dongle is quipped with enhanced data rate and Bluetooth low energy, UB500 has greatly improved data transfer speed and operates at the optimal rate of power consumption
- Nano-Sized - A sleek, ultra-small design means you can insert the Nano Bluetooth receiver into any USB port and simply keep it there regardless of whether you are traveling or at home
- Plug & Play with Free Driver Support - Plug and play for Windows 8.1/10/11 (internet required). Supports Win7 (driver required and can be downloaded from website for free). Download the latest driver from TP-Link website to utilize Bluetooth 5.4
Understand the limits of browser emulation
This flow supplies an emulated adapter and a preconnected simulated peripheral. It is useful for exercising application logic without a radio or physical peripheral, but it does not establish that a real device will advertise, pair, connect, or exchange data correctly.
Chromium currently scopes Bluetooth emulation to the browser context rather than an individual page. Puppeteer warns that pages sharing a context can interfere with one another’s emulated state. Use separate browser contexts for tests that need independent Bluetooth state, and verify the behavior with the Puppeteer and Chromium versions your project runs. The Web Bluetooth specification expects isolation per top-level navigable, so this Chromium behavior is a version-sensitive implementation detail.
Rank #2
- 【Enjoy Wireless Streaming Music】This car Bluetooth adapter can be connected to non-Bluetooth car audio systems, home stereos, speakers, wired headphones via the 3.5mm AUX adapter; And equipped with a Bluetooth 5.3 chip for stable connection / fast transmission / wide signal range. Just pair it with your phone and start listening to your favorite music!
- 【Intelligent Noise Reduction Tech】Our Bluetooth audio receiver adopts the latest CVC8.0 Noise Cancellation and Digital Signal Processor (DSP) technologies, which can eliminate echo and block out intrusive background noise (such as wind, traffic, or crowds), providing you with crystal-clear calling sounds.
- 【Up to 16 Hours of Battery Life】The working time of this aux Bluetooth adapter is up to 16 hours when making calls or playing music. And it takes only 2.5 hours to fully charge the device by using a Type-C fast charging cable (Included in the package). In addition, this Bluetooth music adapter can be used while charging, which is very convenient.
- 【Hands-free Calling & Navigation】A built-in microphone and one “MFB” button to answer / redial / hang up / reject calls, help you make hands-free calls. And the Bluetooth audio adapter supports broadcasting voice notification from existed navigation App. You don’t have to look down the phone on the move. Make sure you drive safely!
- 【Dual Connection】The portable Bluetooth stereo adapter can be paired with 2 devices at the same time. You can enjoy your music and never worry about missing any calls. Once paired, the car receiver will automatically reconnect to your last paired Bluetooth devices, as long as they are within the wireless range.
For tests requiring simulated advertisements, GATT services and characteristics, operation responses, or disconnections, the underlying Chrome DevTools Protocol provides a BluetoothEmulation domain. Do not assume every protocol command has a direct Puppeteer convenience method; consult the protocol and Puppeteer references for the exact operations available.
Choose emulation or a real-device chooser test
| Approach | What it exercises | Setup and trade-offs |
|---|---|---|
| Adapter and peripheral emulation | Application behavior against a software-emulated adapter and simulated peripheral. | No physical adapter is needed. Emulation is experimental and currently shared at browser-context scope. |
| Automate Chrome’s chooser with a real device | Discovery and interaction with a physical Bluetooth device, including actual hardware behavior. | Requires a reachable device and a compatible platform/browser setup. The Chrome guide describes visible Chrome or new headless mode and notes that Linux may need an additional Chromium argument. |
Use emulation for repeatable application-logic tests; use a real-device chooser workflow when the test must validate hardware interoperability or discovery behavior. The Chrome for Developers walkthrough says its chooser automation workflow requires Puppeteer v21.4.0 or later; that requirement applies to the guide’s chooser flow, not necessarily to every Bluetooth-emulation method. See Test Web Bluetooth with Puppeteer and confirm platform and headless support for the versions you install.
Rank #3
- Listen music wireless: Connect with computer speakers, home stereo systems or other speaker systems via the 3.5 mm or RCA cable, then pair with the Bluetooth audio devices such as smartphones or tablet for streaming music.
- Easy setup and automatic reconnect: There is a big bluetooth symbol button in bluetooth receiver middle. Pair your bluetooth device to this adapter with a single button press. Click once means Bluetooth Connect/Disconnect. Hold the botton 3 second mean ON/OFF. It can reconnect automatically with the previously paired device.
- Wireless range: Indoors(without obstacles) connect rang up 30-40 ft (10-12 m).
- Works with most device: Bluetooth enabled device including smartphones, tablets, computers, laptops upon and any powered PC speakers, home stereo systems and A/V receivers.
- NOTE: This adapter doesn't have built-in battery, power by AC to DC power adapter or USB cable. This product is a bluetooth receiver ONLY, not a bluetooth transmitter. Only to give Bluetooth capabilities to an existing stereo / powered speaker / PA. If you have any problems, please contact us at any time by Amazon Order, and we will speed up the process to resolve the issue.
Automate the chooser for a real Bluetooth device
For hardware testing, the documented pattern is to start listening for the device prompt before clicking the application control that calls navigator.bluetooth.requestDevice(). Otherwise the chooser may open before the test begins waiting for it.
const browser = await puppeteer.launch({
// Apply platform-specific Chromium arguments if your environment requires them.
});
const page = await browser.newPage();
await page.goto('http://localhost:3000');
const devicePrompt = page.waitForDevicePrompt();
await page.click('#connect');
const prompt = await devicePrompt;
await prompt.waitForDevice(/My Bluetooth Device/);
await prompt.select('My Bluetooth Device');
// Assert the app's connected-device behavior.
Match the device using an identifying value appropriate to the prompt and select the discovered device. The exact selectors, device name, launch arguments, and assertions depend on the application and test environment. The official guide describes visible Chrome or new headless mode for this chooser workflow and calls out an additional Chromium argument that may be needed on Linux; follow its current platform-specific directions rather than assuming one launch configuration works everywhere.
Rank #4
- Upgraded Bluetooth 5.3 Adapter: This bluetooth adapter for pc uses the latest upgraded Bluetooth 5.3 BR+EDR technology, greatly improves the stability of the connection data transfer speed, reduces the possibility of signal interruption and power consumption.
- Up to 5 Devices Sync Connected: UGREEN Bluetooth dongle for PC supports up to 5 different types of Bluetooth devices to be connected at the same time without interfering with each other, such as Bluetooth mouse/keyboard/mobile phone/headphones, etc. If Bluetooth audio devices of the same type (such as speakers/headphones) are connected, only one device can play music.
- Plug and Play: The Bluetooth adapter is developed for Windows systems only and does not support other systems. No driver installation is required under Windows 11/10/8.1. NOTE: Win 7, Linux and MacOS System are NOT supported.
- Mini Size: An extremely compact Bluetooth stick that you can leave on your laptop or PC without removing it.The compact size does not interfere with other USB ports. Convenient to carry, no space occupation.
- What Can I do if the Bluetooth adapter can not work?: Ensure there are no other Bluetooth devices installed on the computer. If there are, disable all existing Bluetooth devices in "Device Manager", then insert the adapter and try again. (For detailed information please read the user manual)
Do not confuse Bluetooth with device-profile emulation
page.emulate(device) is a different feature: Puppeteer implements it by changing viewport metrics and the user agent to match a device profile. It does not create a Bluetooth adapter or peripheral. See the Puppeteer Page.emulate() reference.
Troubleshoot common failures
page.bluetoothor a method is unavailable: The API is experimental and version-sensitive. Check the installed Puppeteer version and its BluetoothEmulation API reference; do not infer availability from chooser automation support alone.- The app cannot see the simulated device: Confirm that emulation is enabled, the peripheral configuration includes the service or data the app requests, and the test triggers the relevant Web Bluetooth flow after setup.
- One page changes another page’s Bluetooth state: They may share a browser context. Isolate independent emulation tests into separate contexts.
- The real-device chooser appears before the test can act: Create the promise from
waitForDevicePrompt()before clicking the app control that requests a device. - The chooser test fails on Linux or headless Chrome: Verify the required Chromium arguments and the supported visible/headless mode against the Chrome guide and your installed versions.
page.emulate()has no effect on Bluetooth: That method only applies device metrics and user-agent emulation. Use the Bluetooth API for software emulation or the chooser flow for a real device.
Or skip the browser setup
For website screenshots rather than Bluetooth testing, ScreenshotNeo is a one-request screenshot API and MCP server. A request looks like this; see the API documentation for options and response details.
Best Value
- INSTANT BLUETOOTH ACCESS: Bluetooth dongle adapter receiver for PCs converts non-Bluetooth devices into Bluetooth-capable with simple USB connection
- WIDE COMPATIBILITY: Supports Bluetooth 5.4 and is backwards compatible with Bluetooth 5.3/5.2/5.1/5.0/V4.2/4.0/3.0/2.1/2.0/1.1; ONLY works with Windows 8.1, 10, and 11
- MULTI-DEVICE CONNECTION: Connect up to 6 devices simultaneously; Not compatible with all other operation systems e.g. Mac, Linux, Chrome, Unix, Playstation(PS), Windows 7 and below; Nano bluetooth receiver can be plugged in via any standard USB port
- ENHANCED PERFORMANCE: EDR and BLE technology offers enhanced data rate/transfer speed and low energy consumption
- SYSTEM REQUIREMENTS: Not compatible with all other operation systems e.g. Mac, Linux, Chrome, Unix, Playstation(PS), Windows 7 and below; Disable any built-in Bluetooth of the device before use this product, refer to the user manual for detail
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
- Cookie banners and consent prompts are accepted and removed before capture; newsletter popups and chat widgets are also removed. Each cleanup step can be turned off.
- Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; response headers report the page verdict and billing status.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Frequently Asked Questions
Does Puppeteer Bluetooth emulation require a physical Bluetooth adapter?
No. The documented emulation workflow is software-based; physical hardware is for real-device testing.
Does this emulate a real device chooser?
No. Adapter emulation and a simulated peripheral are distinct from discovering and selecting a physical device in Chrome’s chooser.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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.




