TestCafe在哪些方面比Selenium更好?

Alb*_*iro 11 automated-tests web-testing selenium-webdriver e2e-testing testcafe

TestCafe克服了哪些问题证明它适用于Selenium?是否值得将旧的测试套装移植到TestCafe?

小智 27

我们在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请求,页面加载和页面动画,因此您无需在代码中处理它.

  • 最后一段"隐式自动等待机制.TestCafe自动等待XHR请求,页面加载和页面动画,因此您不需要在代码中处理它"应该是第一个.你会让我从一开始就卖掉:-) (9认同)