【问题标题】:In which ways is TestCafe better than Selenium? [closed]TestCafe 在哪些方面比 Selenium 更好? [关闭]
【发布时间】:2018-04-26 08:48:03
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    虽然听起来很简单,但实际上刚开始测试却很麻烦。如果您需要大规模配置测​​试环境,例如用于您的本地 CI 服务器。

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

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

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

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

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

    【讨论】:

    • 最后一段“隐式自动等待机制。TestCafe 自动等待 XHR 请求、页面加载和页面动画,因此您不需要在代码中处理它”应该是第一个一。你会从一开始就把我卖掉:-)
    • 一般all new Selenium browser sessions are isolated,使用带有空cookies和存储空间的新浏览器配置文件。
    • Selenium 还提供了implicit waits 用于被选中元素的外观。
    • @giorgiosironi 当我等待在画布上渲染时它没有帮助
    猜你喜欢
    • 2013-06-05
    • 2014-03-24
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多