跳到主要内容

QUnit 服务

wdio-qunit-service 是一个第三方包,有关更多信息,请参阅 GitHub | npm

npm test

WebdriverIO (wdio) 服务,用于运行基于浏览器的 QUnit 测试,并动态将它们转换为 wdio 测试套件。

替代 Karma​

对于那些使用 Karma JS 来运行 QUnit 测试(karma-qunit,karma-ui5 或任何其他 Karma 和 QUnit 的组合)的用户,QUnit Service 是一个即插即用的替代品。Karma 已弃用,人们应该转向现代化的替代方案!

如果你想保持 QUnit 测试原样,不需要重写和重构,QUnit Service 就是你所需要的全部。它在浏览器中运行你的 QUnit HTML 文件,并以 wdio 格式捕获所有结果。

因此,开发人员可以将 QUnit Service 与 wdio 生态系统中的所有其他功能一起使用。

想要录制测试运行过程吗?也许需要截图或保存为 PDF?检查代码覆盖率?以 JUnit 格式保存测试结果?尽管去做,QUnit Service 不会阻碍你。

安装​

配置 WebdriverIO 后,在你的 package.json 文件中安装 wdio-qunit-service 作为开发依赖。

npm install wdio-qunit-service --save-dev

如果你还没有配置 WebdriverIO,请查看官方文档。

配置​

要使用 QUnit Service,你只需要将其添加到 wdio.conf.js 文件中的 services 列表中。wdio 文档包含了所有与配置文件相关的信息:

// wdio.conf.js
export const config = {
// ...
services: ["qunit"],
// ...
};

使用方法​

在执行测试前,确保 Web 服务器已启动并运行。wdio 不会启动 Web 服务器。

使用 .spec 或 .test 文件​

在 WebdriverIO 测试中,你需要导航到 QUnit HTML 测试页面,然后调用 browser.getQUnitResults()。

describe("QUnit test page", () => {
it("should pass QUnit tests", async () => {
await browser.url("http://localhost:8080/test/unit/unitTests.qunit.html");
await browser.getQUnitResults();
});
});

建议每个 QUnit HTML 测试页面使用一个 WebdriverIO 测试文件。这确保测试将以并行和完全隔离的方式运行。

仅配置,不使用 .spec 或 .test 文件​

如果你不想创建 spec/test 文件,你可以将 QUnit HTML 文件列表传递给配置,测试将自动生成。

// wdio.conf.js
export const config = {
// ...
baseUrl: 'http://localhost:8080',
services: [
['qunit', {
paths: [
'unit-tests.html',
'integration-tests.html',
'test/qunit.html'
]
}],
// ...
};

测试结果​

测试结果可能看起来像: QUnit Service test results

示例​

查看示例文件夹,了解使用 javascript、typescript 等的样例。

在 SAP Fiori / UI5 应用中的使用​

使用众所周知的 openui5-sample-app 的直接示例:

  • 创建配置文件:wdio.conf.js

  • 告诉 wdio 在哪里找到 QUnit 测试文件:

    • 或者
  • 在执行测试前,Web 服务器必须运行

  • 运行 $ wdio run webapp/test/wdio.conf.js

作者​

Mauricio Lauffer

许可证​

该项目基于 MIT 许可证 - 详情请参阅 LICENSE 文件。

Welcome! How can I help?

WebdriverIO AI Copilot