Selenium与Cypress,一场关于WebDriver的革命

在开源测试自动化工具方面有一个新的工具,每个人都在谈论Cypress如何成为Selenium的替代品。但有些人认为Cypress标志着一个时代的结束,我们不太确定Selenium是否会在真的会成为一个测试时代结束的标志。为了更好地理解这两个工具之间的相同点和不同点,让我们更好地了解它们的作用。

Selenium

Selenium WebDriver是我们都知道和喜爱的开源自动化工具。随着历史从IDE的卑微开始,转变为2.0硒硒又名webdriver的,Selenium已经成为许多现代软件团队的基础测试自动化工具包。

大多数人都熟悉Selenium的使用 - 它使用每个浏览器对自动化的原生支持直接调用浏览器。通过使用兼容的编程语言在Selenese中编写脚本,您可以运行测试,就像您自己驾驶浏览器一样。

虽然Selenium的学习曲线可能很陡,并且需要至少一种编程语言的知识,但它拥有庞大的活跃用户社区,甚至还拥有年度用户会议。

Selenium的基础之一是能够在最流行的浏览器上进行测试,使其成为跨浏览器测试的必要条件。

随着Selenium的测试越来越受欢迎,它不仅成为许多自动化策略的基础,而且还成为许多第三方工具(如CrossBrowserTesting)不可或缺的一部分。一旦您知道如何使用Selenium,您就可以使用这些云测试工具访问数千个浏览器并利用并行测试来缩短测试时间。

Cypress

那么Cypress与Selenium的不同之处是什么?它们的相同之处又是什么?

首先,据说Cypress比Selenium更容易入门,你需要做的就是下载安装包,接下里启动运行的时候,所有驱动程序和依赖项都会自动安装。另一方面,使用Selenium,您需要花费更多时间来完成所有操作。

Selenium的一个优点是它支持大多数主要的编程语言,包括Java,Perl PHP,Python,Ruby和C#,因此,如果您的团队已经使用其中一种语言,Cypress可能并不理想,因为它只支持JavaScript的。

此外,由于Cypress测试是使用MochaChai编写的,因此语法与大多数Javascript用户理解的内容相呼应。这意味着如果您使用Javascript,开始使用Cypress将特别容易。但是,如果您对其他语言比较熟悉,那将会相当复杂。

Cypress几乎充当“免费增值”模式。与Selenium类似,除非您使用付费工具进行集成,否则您还x需要通过利用付费仪表板添加Cypress的核心功能,该仪表板包含一个允许您使用DOM快照轻松调试测试的测试运行器,并包含用于私有的视频存储项目。

Selenium和Cypress的架构方式也各不相同。Selenium由绑定或库和控制浏览器的WebDriver组成。这两个组件都是通过JSON网络工作。

或者,虽然Cypress用于UI测试,但它使用自己独特的DOM操作,并直接在浏览器中运行,无需网络通信。出于这个原因,Cypress经常被认为是一个开发人员友好的测试自动化工具,因为这通常会导致Selenium让它们感到郁闷。

在Electron应用程序之上使用不同的体系结构也使Cypress能够非常接近被测试的Web应用程序,以便我们可以执行在Selenium中无法做到的事情,例如对DOM API进行存根。

Selenium与Cypress之间的最大差距之一是,虽然Selenium针对不同的浏览器运行,但如前所述,Cypress仅支持Chrome。Selenium的浏览器支持通常是使用它的人不可或缺的一部分,使得Cypress在跨浏览器测试方面严重缺乏。

对于那些发现在多个浏览器上检查其网站而不仅仅是让他们的代码难以实现的软件团队而言,找到解决这一缺陷的方法可能对Cypress用户构成挑战。

Selenium VS Cypress

Cypress和Selenium具有类似的目的,可以通过两种不同的方式实现。

Selenium是一个库,但需要一个单元测试框架或一个运行器和一个断言库来构建它的功能。Cypress为运行自动化测试提供了一个强大而完整的框架,但通过将用户限制在特定的框架和语言中,可以从Selenium中获得一些自由。

如果您在构建测试自动化框架时不知道自己在做什么,Cypress可能是个不错的选择。

另外要记住的是,如果你看看Cypress是如何构建的,它主要是一个单元测试工具,最适合以Javascript为中心的开发团队。一旦您偏离这些细节并且您的团队决定尝试其他测试自动化方法,您会发现Selenium可以更好地适应这些成长的痛苦。

作为开发人员为开发人员开发的工具,它不再是Selenium的替代品,更是一种向开发人员介绍测试自动化的方法。

与大多数测试自动化实例一样,您选择的工具和您遵循的方法在很大程度上取决于您的团队决定什么以及哪些最适合您的组织。然而,Selenium最后一步的想法被误导了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容