40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# webdriver-bidi-protocol
|
|
|
|
This repository contains TypeScript types conforming to the [WebDriver
|
|
BiDi](https://w3c.github.io/webdriver-bidi/) specification. It also
|
|
supports WebDriver BiDi extension modules defined in other
|
|
specifications:
|
|
|
|
- [Permissions](https://w3c.github.io/permissions/#automation-webdriver-bidi)
|
|
- [Web Bluetooth](https://webbluetoothcg.github.io/web-bluetooth/#automated-testing)
|
|
|
|
## Installation
|
|
|
|
```
|
|
npm install webdriver-bidi-protocol
|
|
```
|
|
|
|
## Usage
|
|
|
|
In your TypeScript client implementation, you can now import WebDriver
|
|
BiDi types:
|
|
|
|
```ts
|
|
import {Commands} from 'webdriver-bidi-protocol';
|
|
|
|
async function sendCommand<T extends keyof Commands>(
|
|
method: T,
|
|
params: Commands[T]['params']
|
|
): {result: Commands[T]['returnType']} {
|
|
// Implementation for sending the data using WebSockets.
|
|
}
|
|
|
|
// Now TypeScript validates that the params match the spec for 'browsingContext.print'.
|
|
await sendCommand('browsingContext.print', {context: 'xxx'});
|
|
```
|
|
|
|
## Versioning
|
|
|
|
This package patch version will be incremented whenever there are
|
|
specification updates.
|