我可以使用TestCafe进行非浏览器测试吗?

时间:2018-10-09 20:33:56

标签: testing browser automated-tests e2e-testing testcafe

我有一个测试套件,需要使用浏览器进行UI测试。我也有一个非浏览器API测试套件(HTTP请求/响应)。

我想使用TestCafe作为两个测试套件的测试运行程序,但是我不希望TestCafe在执行API HTTP测试时使用浏览器。这不可能吗?

我找不到该用例的任何TestCafe文档。预先感谢!

1 个答案:

答案 0 :(得分:5)

可以使用TestCafe来运行Node.js单元测试。您可以在TestCafe测试中使用任何Node.js API并需要任何Node.js模块。页面指​​令是可选的,因此您不必为单元测试指定测试页面。还有一个小问题,您仍然必须指定浏览器参数,并且在启动测试套件时,TestCafe将创建一个浏览器窗口。

以下示例使用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。在实施之前,您可以使用testcafe-browser-provider-nightmare浏览器提供程序或headless browsers在没有可见浏览器窗口的情况下运行测试。