@expressen/tallahassee

中文文档
16.1.0发布于 2026/05/21BSD-3-ClauseTypeScriptCommonJS近 30 天下载 2220

轻量级客户端测试框架

中文使用文档

塔拉哈西岛

Utilities

Built latest

用无头浏览器测试您的客户端脚本 .

导言

支持一切一切众生.

示例

"use strict";

const Browser = require("@expressen/tallahassee");
const Script = require("@bonniernews/wichita");
const { app } = require("../app/app.js");

describe("Tallahassee", () => {
  describe("navigateTo()", () => {
    it("navigates to url", async () => {
      await new Browser(app).navigateTo("/");
    });

    it("throws if not 200", async () => {
      try {
        await new Browser(app).navigateTo("/404");
      } catch (e) {
        var err = e; // eslint-disable-line no-var
      }
      expect(err).to.be.ok;
    });

    it("unless you override status code", async () => {
      const browser = await new Browser(app).navigateTo("/404", null, 404);
      expect(browser.document.getElementsByTagName("h1")[0].innerText).to.equal("Apocalyptic");
    });
  });

  describe("run script", () => {
    it("run es6 script sources with @bonniernews/wichita", async () => {
      const browser = await new Browser(app).navigateTo("/", { cookie: "_ga=1" });

      await new Script("./app/assets/scripts/main.js").run(browser.window);

      expect(browser.document.cookie).to.equal("_ga=1");
      expect(browser.document.getElementsByClassName("set-by-js")).to.have.length(1);
    });

    it("again", async () => {
      const browser = await new Browser(app).navigateTo("/");

      await new Script("./app/assets/scripts/main.js").run(browser.window);

      expect(browser.document.cookie).to.equal("");
      expect(browser.document.getElementsByClassName("set-by-js")).to.have.length(0);
    });
  });
});

外部脚本

我们建议你使用威奇塔 塔拉哈西帮手 网址:https://www.npmjs.com/package/@bonniernews/wichita

计时器

如果在窗口上超时,例如:. setTimeout 让他们同步会是一个好主意 因为它们经常重复出现.

示例

browser.window.setTimeout = function mySetTimeout(fn, ms, ...args) {
  process.nextTick(fn, ...args);
};

版本与发布记录

@expressen/tallahassee 共发布 213 个版本,首次发布于 2017/11/30;过去 12 个月发布了 1 个版本。

版本发布日期距今
16.1.0latest2026/05/215 个月前
16.0.62025/07/161.3 年前
16.0.52025/07/151.3 年前
16.0.42025/06/101.4 年前
16.0.32025/01/161.8 年前
16.0.22024/10/022 年前

关于 @expressen/tallahassee 的常见问题

@expressen/tallahassee 是什么?

轻量级客户端测试框架

如何安装 @expressen/tallahassee?

在项目目录运行 npm install @expressen/tallahassee,或使用 pnpm add / yarn add / bun add。

@expressen/tallahassee 支持 TypeScript 吗?

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

@expressen/tallahassee 支持 ESM 还是 CommonJS?

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

@expressen/tallahassee 需要什么版本的 Node.js?

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

@expressen/tallahassee 可以商用吗?

@expressen/tallahassee 使用 BSD-3-Clause 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括,不构成法律意见,请以许可原文为准。

@expressen/tallahassee 的下载量有多少?

根据 npm 官方下载统计,@expressen/tallahassee 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,220 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@expressen/tallahassee 还在维护吗?

最新版本 16.1.0 发布于 2026/05/21(5 个月前);至今共发布 213 个版本,其中过去 12 个月发布了 1 个;首次发布于 2017/11/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。