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

标签 testing browser automated-tests e2e-testing testcafe

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

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

我找不到关于此用例的任何 TestCafe 文档。提前致谢!

最佳答案

可以使用 TestCafe 来运行 Node.js 单元测试。您可以使用任何 Node.js API 并在 TestCafe 测试中需要任何 Node.js 模块。 page 指令是可选的,因此您不必为单元测试指定测试页。有一个小问题,您仍然需要指定浏览器参数,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在没有可见浏览器窗口的情况下运行测试。

关于testing - 我可以使用 TestCafe 进行非浏览器测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52728914/

相关文章:

测试使用 Immutable.js 更改多个属性的 reducer

c# - 想在WP7的外部浏览器中打开链接

css - 为什么浏览器不自动更正不兼容的 CSS3 转换?

java - WebDriver 打开新标签

testing - 如何在 behat 中使用 scrollTop?

c# - 如何判断格式化字符串中的替换次数?

testing - Junit REST 测试?

android - 应用内结算和许可证测试帐户

javascript - 浏览器中滚动放大或缩小是否会触发window.resize()?

testing - 用小团队(和很少的时间)对大型项目进行手动与自动测试