# @browserstack/wdio-browserstack-service 中文文档

规范地址：https://npmcn.com/package/%40browserstack/wdio-browserstack-service/

版本：2\.0\.2
npm 元数据更新时间：2025-12-15T09:57:49.825Z
中文译文更新时间：2026-11-08T16:26:27.917Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40browserstack/wdio-browserstack-service
原文对照：https://npmcn.com/package/%40browserstack/wdio-browserstack-service/?lang=original
项目主页：https://github.com/browserstack/wdio-browserstack-service
源码仓库：https://github.com/browserstack/wdio-browserstack-service

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：533 kB，41 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=16\.0\.0
- 运行依赖：2 个
- 首次发布：2022-03-08T13:49:27.213Z
- 最新版本发布：2025-11-27T10:06:04.948Z
- 近 30 天下载量：274458（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 1 个）

## 中文简介

WebdriverIO 更好的浏览器集成服务

## 安装

```sh
npm install @browserstack/wdio-browserstack-service
```

也可以使用：`pnpm add @browserstack/wdio-browserstack-service`、`yarn add @browserstack/wdio-browserstack-service`、`bun add @browserstack/wdio-browserstack-service`

## README

# @ browserstack/wdio-browserstack- service 页面存档备份,存于互联网档案馆

![npm](https://img.shields.io/npm/v/@browserstack/wdio-browserstack-service) ![License: MIT](https://img.shields.io/badge/license-MIT-blue)

Core SDK用于浏览器Stack集成,由WebdriverIO浏览器Stack服务公司使用. 关于用户配置和服务选项,请参见官方服务 README: [https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-browserserstack-service/README.md 互联网档案馆的存檔,存档日期2013-12-02](https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-browserstack-service/README.md)

## 目录

1.  [概览](https://npmcn.com/package/%40browserstack/wdio-browserstack-service/#readme-overview)
2.  [代码生成](https://npmcn.com/package/%40browserstack/wdio-browserstack-service/#readme-code-generation)
3.  [发展](https://npmcn.com/package/%40browserstack/wdio-browserstack-service/#readme-development)
4.  [捐款](https://npmcn.com/package/%40browserstack/wdio-browserstack-service/#readme-contributing)
5.  [许可证](https://npmcn.com/package/%40browserstack/wdio-browserstack-service/#readme-license)

## 概览

此软件包提供了基于 TypeScript 的 gRPC 客户端和 Protobuf 定义 内部使用 `@wdio/browserstack-service` webdriverIO 插件 . 它包括:

-   从Protobuf定义中生成了TypeScript类型和客户端.
-   用于后向相容性的信件厂构造器 .

## 安装

本单元作为附属单元列入 `@wdio/browserstack-service` 软件包. 用户应当安装和配置上面链接的README所记录的服务.

## 设置配置( P)

将服务添加到您的 WebdriverIO 配置( U)`wdio.conf.js`:

```
export BROWSERSTACK_USERNAME=your_username
export BROWSERSTACK_ACCESS_KEY=your_access_key
```

## 使用量

导入和使用 gRPC 客户端和信件构建器 :

```ts
import { SDKClient, StartBinSessionRequestConstructor } from '@browserstack/wdio-browserstack-service';
import path from 'path';
import process from 'process';
import { CLIUtils } from '@browserstack/cli-utils'; // example import, adjust if needed
import { version as packageVersion } from './package.json'; // adjust to your setup

// Initialize the client (uses default insecure credentials unless overridden)
const client = new SDKClient('grpc.browserstack.com:443');

// Collect framework details
const automationFrameworkDetail = CLIUtils.getAutomationFrameworkDetail();
const testFrameworkDetail = CLIUtils.getTestFrameworkDetail();

const frameworkVersions = {
  ...automationFrameworkDetail.version,
  ...testFrameworkDetail.version
};

// Build StartBinSessionRequest
const startReq = StartBinSessionRequestConstructor.create({
  binSessionId: 'your-session-id', // replace with actual session id
  sdkLanguage: CLIUtils.getSdkLanguage(),
  sdkVersion: packageVersion,
  pathProject: process.cwd(),
  pathConfig: path.resolve(process.cwd(), 'browserstack.yml'),
  cliArgs: process.argv.slice(2),
  frameworks: [automationFrameworkDetail.name, testFrameworkDetail.name],
  frameworkVersions,
  language: CLIUtils.getSdkLanguage(),
  testFramework: testFrameworkDetail.name,
  wdioConfig: {}, // provide your WDIO config if applicable
});

// Start a session
client.startBinSession(startReq).then(response => {
  console.log('Started session:', response.binSessionId);
}).catch(err => {
  console.error('Failed to start session:', err);
});
```

## 代码生成

这个项目使用 [缓冲](https://docs.buf.build/) 财务报告和审定财务报表 `ts-proto` 改为 从Protobuf定义中生成类型脚本代码.

### 先决条件

-   [Buf CLI (法语)](https://docs.buf.build/installation)
-   节点.js 16

### 生成构建( B)

```bash
# Clean previously generated files
npm run clean

# Generate from .proto files
npm run generate

# Compile to JS and declaration files
npm run build
```

生成的文件出现在以下 `dist/` 并应当发布至npm.

## 发展

清除寄存器并安装依赖性 :

```bash
git clone https://github.com/browserstack/wdio-browserstack-service.git
cd wdio-browserstack-service
npm install
```

运行生成并构建 :

```bash
npm run build
```

## 捐款

欢迎捐款! 请在 [GitHub 仓库](https://github.com/browserstack/wdio-browserstack-service)。 。 。 .

## 许可证

MIT © 浏览器Stack

## 常见问题

### @browserstack/wdio-browserstack-service 是什么？

WebdriverIO 更好的浏览器集成服务

### 如何安装 @browserstack/wdio-browserstack-service？

在项目目录运行 npm install @browserstack/wdio-browserstack-service，或使用 pnpm add / yarn add / bun add。

### @browserstack/wdio-browserstack-service 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @browserstack/wdio-browserstack-service 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @browserstack/wdio-browserstack-service 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=16\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @browserstack/wdio-browserstack-service 可以商用吗？

@browserstack/wdio-browserstack-service 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @browserstack/wdio-browserstack-service 的下载量有多少？

根据 npm 官方下载统计，@browserstack/wdio-browserstack-service 在 2026/10/09 – 2026/11/07 这 30 天内被下载 274,458 次，日均约 9,149 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @browserstack/wdio-browserstack-service 还在维护吗？

最新版本 2\.0\.2 发布于 2025/11/27（11 个月前）；至今共发布 8 个版本，其中过去 12 个月发布了 1 个；首次发布于 2022/03/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

