TestCafe在哪些方面比Selenium更好?

时间:2017-11-13 15:47:14

标签: selenium-webdriver automated-tests e2e-testing web-testing testcafe

TestCafe克服哪些问题证明其采用Selenium是合理的?是否值得将旧的测试套件移植到TestCafe?

1 个答案:

答案 0 :(得分:26)

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

首先,我们希望简化设置测试环境。要从Selenium开始,您需要安装WebDriver客户端以获得所需的编程语言以及您要测试的每个浏览器的相应驱动程序。

虽然听起来相当简单,但实际上开始测试真的很麻烦。如果您需要大规模配置测​​试环境,例如,这种麻烦会变得更大用于本地CI服务器。

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

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

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

隔离测试环境。每个TestCafe测试都会像在新的隐身标签中启动一样运行。您将清除所有cookie和存储。这有助于避免大量样板测试代码,并允许您在同一浏览器中工作而不会受到状态干扰的风险。这也使我们能够实现即将到来的Roles feature等机制,您可以使用这些机制从不同用户的角度与页面进行交互,或者轻松地跨测试执行表单身份验证。

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