跳至主要内容

QUnit 服务

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

npm test

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

替换 Karma

QUnit 服务是那些使用Karma JS运行他们的QUnit测试(karma-qunitkarma-ui5或任何其他 Karma 和 QUnit 的组合)的替代方案。Karma 已弃用,人们应该转向现代的替代方案!

如果您想保留您的 QUnit 测试原样,无需重写和重构,QUnit 服务就是您需要的一切。它在浏览器中运行您的 QUnit HTML 文件,并将所有结果捕获到wdio格式中。

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

想要在视频中记录测试运行?也许拍摄屏幕截图或将其保存为PDF?检查代码覆盖率?以JUnit格式保存测试结果?尽管去做,QUnit 服务不会妨碍您。

安装

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

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

如果您尚未配置WebdriverIO,请查看官方文档

配置

为了使用QUnit 服务,您只需要将其添加到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("https://127.0.0.1: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: 'https://127.0.0.1:8080',
services: [
['qunit', {
paths: [
'unit-tests.html',
'integration-tests.html',
'test/qunit.html'
]
}],
// ...
};

测试结果

测试结果可能如下所示:QUnit 服务测试结果

示例

查看示例文件夹以获取使用javascripttypescript等的示例。

在 SAP Fiori / UI5 应用程序中使用

使用众所周知的openui5-sample-app的简单示例

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

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

  • 在执行测试之前,Web 服务器必须正在运行

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

作者

Mauricio Lauffer

许可证

此项目根据 MIT 许可证授权 - 有关详细信息,请参阅LICENSE文件。

欢迎!我怎样才能帮到您?

WebdriverIO AI Copilot