我可以使用 TestCafe 进行非浏览器测试吗?
Can I use TestCafe for non-browser testing?
我有一个测试套件需要浏览器才能进行 UI 测试。我还有一个非浏览器 API 测试套件 (HTTP requests/responses)。
我想使用 TestCafe 作为两个测试套件的测试运行器,但我不希望 TestCafe 在执行 API HTTP 测试时使用浏览器。这不可能吗?
我找不到关于此用例的任何 TestCafe 文档。提前致谢!
可以使用 TestCafe 进行 运行 宁 Node.js 单元测试。您可以在 TestCafe 测试中使用任何 Node.js API 并要求任何 Node.js 模块。 page 指令是可选的,因此您不必为单元测试指定测试页。有一个小问题,您仍然需要指定浏览器参数,TestCafe 将在启动测试套件时创建一个浏览器 window。
以下示例使用 got 模块访问 GitHub API:
import got from 'got';
fixture `Github API`;
test(`Check DevExpress repositories`, async t => {
const requestResult = await got('https://api.github.com/orgs/DevExpress/repos');
const repos = JSON.parse(requestResult.body);
await t.expect(repos.some(repo => repo.name === 'testcafe')).eql(true);
});
您可以使用以下命令运行该示例:
testcafe chrome:headless test.js
我们建议允许 运行在不启动浏览器的情况下使用 TestCafe:https://github.com/DevExpress/testcafe/issues/1314. Until it is implemented, you can use the testcafe-browser-provider-nightmare browser provider or headless browsers 到 运行 没有可见浏览器的测试 window。
我有一个测试套件需要浏览器才能进行 UI 测试。我还有一个非浏览器 API 测试套件 (HTTP requests/responses)。
我想使用 TestCafe 作为两个测试套件的测试运行器,但我不希望 TestCafe 在执行 API HTTP 测试时使用浏览器。这不可能吗?
我找不到关于此用例的任何 TestCafe 文档。提前致谢!
可以使用 TestCafe 进行 运行 宁 Node.js 单元测试。您可以在 TestCafe 测试中使用任何 Node.js API 并要求任何 Node.js 模块。 page 指令是可选的,因此您不必为单元测试指定测试页。有一个小问题,您仍然需要指定浏览器参数,TestCafe 将在启动测试套件时创建一个浏览器 window。
以下示例使用 got 模块访问 GitHub API:
import got from 'got';
fixture `Github API`;
test(`Check DevExpress repositories`, async t => {
const requestResult = await got('https://api.github.com/orgs/DevExpress/repos');
const repos = JSON.parse(requestResult.body);
await t.expect(repos.some(repo => repo.name === 'testcafe')).eql(true);
});
您可以使用以下命令运行该示例:
testcafe chrome:headless test.js
我们建议允许 运行在不启动浏览器的情况下使用 TestCafe:https://github.com/DevExpress/testcafe/issues/1314. Until it is implemented, you can use the testcafe-browser-provider-nightmare browser provider or headless browsers 到 运行 没有可见浏览器的测试 window。