Slenium已死?
selenium 已死?其他的框架例如 playwright, cypress 当立?这是去年一个广泛讨论的话题。对于我来说这个观点很明显是偏颇的,因为
- selenium 本身已经成为了 w3c 规范的一部分,现在市面上所有的浏览器都遵循这个规范
- selenium 本来就不是一个纯测试工具,它是为自动化而生,除了浏览器测试之外,selenium 还有很广泛的用途,而 playwright/cypress 则更专精于测试领域
- selenium 的 api 相当稳定,对于一些需要长期维护的项目来说这是非常有诱惑力的,而我去年用 playwright 做了一个项目,今年由于 api 升级,去年的代码基本上已经完全不可用了
所以对我来说,selenium 尽管已经徐娘半老,吸引力大不如前,但在某些场景下,selenium 仍然会是我的首选工具,就像是 vb/php 一样,尽管大家都已经看衰很多年了,但这些技术一直没有落幕退场。
selenium 官方可能也察觉到了这些广泛的讨论,昨天他们官网 blog 发了一篇文章,直接讨论 selenium 与其他工具的情感纠葛,上下文可能是不少人发博文比较 selenium 与其他工具,然后标题党一下,使得大家产生错觉:selenium 真的已经快死翘翘了。这篇内容专业简洁,适合给大家消除误解,原文地址:https://www.selenium.dev/blog/2024/selenium-vs-blog-posts/。
下面是全文翻译。
这篇博文讨论了那些比较 Selenium、Cypress 和 Playwright 的标题党文章。这些文章没有意义,也没有帮助。
作者:David Burns (@AutomatedTester) | 2024 年 1 月 9 日星期二
在博文中,关于自动化测试的标题党文章最容易的方式就是将 Selenium 与其他工具进行比较,并配以一个吸引人的标题,尤其是当它贬低现有工具时。
不幸的是,这可能会使人们对这些产品中的哪些功能可用产生困惑,尤其是当我们进行同类的过度类比时。
Selenium 一直是一个很好的浏览器自动化工具。对于该项目来说,幸运的是,它已经成为测试 Web 应用程序的首选工具近 20 年。该项目专注于构建越来越复杂的浏览器自动化的难点。项目的重点一直是稳定的 API 和可扩展性,以保证 Selenium 的运行。它没有关注人们如何进行测试,因为有非常好的测试框架可用,并且为 5 种不同的编程语言进行测试是一项非常重要的工程工作。
然而,这些博文中经常出现一些误解。
与 Playwright 和 Cypress 相比,设置浏览器和驱动程序太困难
过去确实如此,因为您需要下载驱动程序。对于 GeckoDriver 和 SafariDriver 来说,这并不太糟糕,因为它们可以优雅地处理浏览器升级。另一方面,对于基于 Chromium 的浏览器,您需要为每个新版本更新驱动程序。