11

TestCafe 克服了哪些问题来证明它对 Selenium 的采用是合理的?将旧的测试服移植到 TestCafe 是否值得?

4

1 回答 1

30

TestCafe 团队决定不在 Selenium 之上构建 TestCafe 的原因有很多。

首先,我们想简化测试环境的设置。要开始使用 Selenium,您需要为您要测试的每个浏览器安装所需编程语言的 WebDriver 客户端和适当的驱动程序。

虽然听起来很简单,但实际上刚开始测试是一件很麻烦的事情。如果您需要大规模配置测​​试环境,例如为您的本地 CI 服务器,这个麻烦会变得更大。

在 npm 中有许多基于 Selenium 的 node.js 测试解决方案。您可以看到它们需要大量的设置和配置工作才能开始。npm install这与我们在现代 Web 开发人员工具带中的其他工具中习惯的设置的简单性相去甚远。

如果 TestCafe 使用 Selenium 作为底层平台,TestCafe 还具有一些无法实现的功能。例如,TestCafe 可以在包括移动设备在内的远程设备上运行测试。这意味着您可以在没有安装 TestCafe 的机器上运行测试。您只需在其浏览器中打开一个链接即可开始测试(如果主机和目标设备在网络中相互看到)。此功能可用于向根本没有安装 TestCafe 或 node.js 的工程师快速演示错误。

在 Selenium 之上难以实现的其他功能包括:

隔离的测试环境。每个 TestCafe 测试都像在新的隐身选项卡中启动一样运行。您将清洁所有 cookie 和存储空间。这有助于避免大量样板测试代码,并允许您在同一个浏览器中工作而没有状态干扰的风险。这也使我们能够实现诸如即将推出的角色功能之类的机制,您可以使用该功能从不同用户的角度与页面进行交互,或者轻松地跨测试执行表单身份验证。

隐式自动等待机制。TestCafe 会自动等待 XHR 请求、页面加载和页面动画,因此您无需在代码中处理它。

于 2017-11-13T16:11:46.843 回答