# @doubleslashde/karma-selenium-grid-launcher 中文文档

规范地址：https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/

版本：0\.3\.3
npm 元数据更新时间：2023-02-06T10:53:28.812Z
中文译文更新时间：2026-11-12T19:34:49.861Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40doubleslashde/karma-selenium-grid-launcher
原文对照：https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/?lang=original
项目主页：https://github.com/doubleSlashde/karma-selenium-grid-launcher#readme
源码仓库：https://github.com/doubleSlashde/karma-selenium-grid-launcher

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

- 包体积（解压后）：32.8 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2023-02-06T08:55:06.219Z
- 最新版本发布：2023-02-06T10:53:28.699Z
- 近 30 天下载量：7364（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

远程WebDriver实例发射装置,位于一个硒网格上;由因果网-webdriver-发射装置预留.

## 安装

```sh
npm install @doubleslashde/karma-selenium-grid-launcher
```

也可以使用：`pnpm add @doubleslashde/karma-selenium-grid-launcher`、`yarn add @doubleslashde/karma-selenium-grid-launcher`、`bun add @doubleslashde/karma-selenium-grid-launcher`

## README

# 因果-硒-电网-发射器

在远程上发射浏览器的 Karma 插件 [硒网格](https://www.seleniumhq.org/docs/07_selenium_grid.jsp)。 。 。 . 从 [网络发射器](https://github.com/karma-runner/karma-webdriver-launcher)。 。 。 .

使用 [硒 -- -- 网络推进器国家预防机制模块](https://www.npmjs.com/package/selenium-webdriver) 幕后传.

-   [使用量](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-usage)
-   [启动器- 特定配置密钥](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-launcher-specific-configuration-keys)
    -   [参数](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-arguments)
    -   [基础](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-base)
    -   [关闭前退出](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-closebeforequit)
    -   [延迟](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-delaylaunch)
    -   [扩展](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-extensions)
    -   [firefox 首选项](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-firefoxpreferences)
    -   [网格Url](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-gridurl)
    -   [心跳间歇](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-heartbeatinterval)
    -   [选项](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-options)
    -   [提示打开( 已过期)](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-prompton-deprecated)
    -   [退出前重新设置](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-resetbeforequit)
    -   [压制警告](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-suppresswarning)
    -   [窗口图形](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-windowgeometry)
    -   [x- ua 兼容](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-x-ua-compatible)
-   [过早地杀死测试](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-killing-tests-prematurely)
-   [浏览器 Quirks 和 Workrounds](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-browser-quirks-and-workarounds)
    -   [在 macOS Safari 上播放视频](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-video-playback-on-macos-safari)
    -   [iOS 10 萨法里](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-ios-10-safari)
    -   [iOS 12 萨法里](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-ios-12-safari)
-   [实例](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-examples)

## 使用量

```bash
$ npm install --save-dev karma-selenium-grid-launcher
```

在您的 carma.conf.js 文件中定义一些继承自 `SeleniumGrid`,以 `gridUrl`。 。 。 .

```js
module.exports = function(karma) {

  ...

    config.set({

      ...

      customLaunchers: {
        'ie11': {
          base: 'SeleniumGrid',
          gridUrl: 'http://some-host:4444/wd/hub',
          browserName: 'internet explorer',
          platform: 'windows',
          version: '11',
          'x-ua-compatible': 'IE=EmulateIE7',
          heartbeatInterval: 10000
        }
      },

      browsers: ['ie11'],

      ...

    });


```

除下文所描述的发射器特定配置密钥外,所有密钥 被传递到电网 作为能力, 给你的灵活性 做相应的 Selenium WebDriver 支持的任何事(见 Selenium ) 更多信息请参考文件).

请注意,如果你试图测试 在几个浏览器/平台上,你是 使用默认的硒匹配器,您可能想要使用 无证件 `applicationName` 作为唯一的平台 硒将匹配 `WINDOWS`, (中文(简体) ), `MAC`,以及 `LINUX`。 。 。 .

您还不妨使用 [浏览器常数](https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_Browser.html) 由硒-webdriver输出 以确保你在使用 `browserName` 由硒反应得到.

## 启动器- 特定配置密钥

以下密钥作为A部分提供 `customLauncher` 块将 _没有_ 为: 被解释为有能力发送到网格网;相反,它们得到处理 从某种意义上说,通过发射器.

### 参数

启动浏览器二进制时应该使用的参数组 。 说明 只有Chrome、Firefox和IE接受此密钥;如果 又一个 `browserName` 已使用.

### 基础

这显然只是被卡玛用来告诉 从哪一个基地延伸,但 包括在这里是为了说明 `base` 将不会被传递作为一个 能力.

### 关闭前退出

打电话 `driver.close()` 打电话前 `driver.quit()`设置为 `true` 改为 围绕浏览器/设备工作,这些设备不会默认关闭活动窗口 当测试完成时.

见 [浏览器 Quirks 和 Workrounds](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-browser-quirks-and-workarounds) 浏览器/设备 可能需要这样做才能发挥适当的功能.

### 延迟

在启动浏览器前等待时间( ms) 。 当浏览器必须使用时使用此功能 最后成为测试的前台窗口, 如测试视频 回放萨法里.

### 扩展

远程浏览器上应当安装的扩展路径序列 。 说明 只有Chrome和Firefox接受此密钥。 如果 又一个 `browserName` 已使用.

### firefox 首选项

对象映射 Firefox 偏好键到其期望值 。 如果你想的话 默认将一个首选项传给 firefox , 此选项将生效 诡计.

### 网格Url

用于启动浏览器的硒网格的URL. 如果不提供,则 默认为 `http://localhost:4444/wd/hub`。 。 。 .

### 心跳间歇

间歇( 以毫秒计) 以发送心跳以避免会话被杀死 暂停 。 未提供或设定为 `0`,不会执行心跳.

### 选项

对象映射适当的方法名 `Options` 目标 浏览器到它应该调用的值 。 见 [硒 -- -- 网络驱动程序 API 文件](https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/) 更多信息.

### 提示打开( 已过期)

当元素带有给定时发送并关闭提示 `id` 可见于 文档.

这种办法被贬值,在任何情况下都可能不需要.

### 退出前重新设置

装入浏览器 `about:blank` 打电话前 `driver.quit()`设置此选项 改为 `true` 在不支持关闭的浏览器/设备周围工作 测试完成时激活窗口 .

见 [浏览器 Quirks 和 Workrounds](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-browser-quirks-and-workarounds) 浏览器/设备 可能需要这样做才能发挥适当的功能.

### 压制警告

价值为 `true` 将压制互联网探索者警告; 任何其他值 将显示警告.

### 窗口图形

用于设置窗口几何对象。 如果有任何密钥 `width`, (中文(简体) ), `height`, (中文(简体) ), `x`,或 `y` 在对象中,它们将被用于 修改窗口几何的这个方面。 任何其他密钥都将被忽略 .

### x- ua 兼容

用于一个 `X-UA-Compatible` `meta` 标签。 如果没有提供,则因果报应 将不添加 `meta` 标签.

## 过早地杀死测试

如果过早地停止测试(例如通过击打) `Ctrl+c`发射后不久 测试,浏览器/设备可能需要一些时间才能完全关闭。 改为: 保持简单(英文),期间有一系列承诺 启动/初始化。 当您停止请求时, 确定此请求中的位置 系列将发出呼吁 `driver.quit()`。 。 。 .

如果远程驱动程序返回一个会话, 您将不得不等待 浏览器/设备以加载因果报应页面并进行初始化 在此之前 `driver.quit()` 将召入.

如果你在使用移动设备, 也要记住大楼/部署 控制器应用程序和/或启动模拟器需要一些时间。 自兹 此驱动程序只能在完成后使用, 您必须等待此程序 完成程序以确保适当的清理.

从停止测试直到某个浏览器关闭 消息 `Waiting for ${browser} to quit... (${time}s)` 将输出到 每10个控制台.

## 浏览器 Quirks 和 Workrounds

这是某些浏览器/设备已知的相容性问题列表, 以及如何围绕这些问题开展工作.

如果您遇到没有列出的浏览器怪胎, 请打开一个 PR 加上它,即使没有已知的工作.

### 在 macOS Safari 上播放视频

macOS Safari要求它是播放回放视频的前台窗口. 使用 页:1 [`delayLaunch`](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-delayLaunch) 选项,以确保Safari在 同一机器上的任何其他浏览器.

请注意,视频元素必须在取景点内有一部分 正在由浏览器显示。 在你的测试中,确保做到这一点.

### iOS 10 萨法里

iOS 10 Safari 未暗示关闭当前窗口时 `driver.quit()` 按 WebDriver 规格,称为。 这导致浏览器 在下一次测试运行中连接两次; 旧窗口和新启动 窗口。 你应该用 [`closeBeforeQuit`](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-closeBeforeQuit) 选项到 确保窗口在每次测试运行结束时关闭.

### iOS 12 萨法里

iOS 12 Safari 也不支持关闭当前窗口 `driver.close()` 或者说 `driver.quit()`。这导致旧窗口连接 至下个运行,在断开之前(新测试运行重用旧运行) 窗口,因此该页面有效刷新。 你应该用 [`resetBeforeQuit`](https://npmcn.com/package/%40doubleslashde/karma-selenium-grid-launcher/#readme-resetBeforeQuit) 选项,以确保窗口设置为 `about:blank` 每次测试结束时.

## 实例

更详细的例子见: [示例文件](https://github.com/squarebracket/karma-selenium-grid-launcher/blob/master/examples/karma.conf.js)。 。 。 .

## 常见问题

### @doubleslashde/karma-selenium-grid-launcher 是什么？

远程WebDriver实例发射装置,位于一个硒网格上;由因果网-webdriver-发射装置预留\.

### 如何安装 @doubleslashde/karma-selenium-grid-launcher？

在项目目录运行 npm install @doubleslashde/karma-selenium-grid-launcher，或使用 pnpm add / yarn add / bun add。

### @doubleslashde/karma-selenium-grid-launcher 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/doubleslashde\_\_karma-selenium-grid-launcher 是否存在。

### @doubleslashde/karma-selenium-grid-launcher 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @doubleslashde/karma-selenium-grid-launcher 可以商用吗？

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

### @doubleslashde/karma-selenium-grid-launcher 的下载量有多少？

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

### @doubleslashde/karma-selenium-grid-launcher 还在维护吗？

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

