参考:https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/

这四款自动化测试框架在我们的公众号都有介绍。上周介绍了新出 Playwright,那这款工具有什么优点,是否值得我们投入精力学习。

关键对比

接下来,我会通过一些维度来进行对比。

支持语言

  • Playwright: 支持主流语言:JavaScript & TypeScript\python\C#\Go\Java
  • Selenium: 支持主流语言:java\python\ruby\C#\C++\JavaScript
  • Cypress: 只支持 JavaScript & TypeScript
  • Puppeteer: 只支持 JavaScript & TypeScript \ python

覆盖浏览器

  • Playwright: 支持Chromium/WebKit/Firefox
  • Selenium: 运行在目前所有主流浏览器上(不包括国内套皮的浏览器)。
  • Cypress: 只支持 Chrome/Firefox
  • Puppeteer: 只支持 Chrome/Firefox

支持多标签 + 表单

  • Selenium: 通过 switch_to 切换,但不好用。
  • Cypress: 没有真正支持
  • Puppeteer: 更符合直觉的 API
  • Playwright: 更符合直觉的 API

为证明playwright 更简单,我们来做个代码对比。

测试创建速度

  • Selenium: Yes Selenium IDE可以录制脚本。
  • Cypress: 不支持脚本录制。
  • Puppeteer: Yes 基于Puppeteer Recorder录制脚本。
  • Playwright: Yes 基于 playwright codegen 命令录制脚本。

并行网格和基础服务

  • Selenium: Yes 托管或构建自己解决方案。
  • Cypress:

    Playwright VS Selenium VS Puppeteer VS Cypress的更多相关文章

    1. 聊聊 PC 端自动化最佳方案 - WinAppDriver

      1. 前言 大家好,我是安果! 一提到自动化,可能大家想到的是 App 端的 Appium.Airtest.AutoJS,亦或是 Selenium.Puppeteer.Cypress 等 Web 端的 ...

    2. Selenium 4.0beta:读源码学习新功能

      Selenium 4 源码分析 这一篇文章我们来分析Selenium 4 python版源码. 除非你对Selenium 3的源码烂熟于心,否则通过对比工具分析更容易看出Selenium 4更新了哪些 ...

    3. 【cypress】5. 测试本地web应用

      在之前的cypress介绍里曾提到过,cypress虽然也可以测试部署好的应用,但是它最大的能力还是发挥在测试本地应用上. 本章主要内容就是关于如何测试本地web应用的概述: cypress与后台应用 ...

    4. Web前端自动化测试Cypress实践总结

      本文主要首先主要介绍了什么是自动化测试,接着对常用的自动化测试框架进行了对比分析,最后,介绍了如果将自动化测试框架Cypress运用在项目中. 一.自动化测试概述 为了保障软件质量,并减少重复性的测试 ...

    5. 高级爬虫面试题测试题 v1.3

      Python Web高级爬虫工程师测试题 (请本文件发送到: SpiderTestQuestion@163.com 并附带简历) 1. 用yield写一个斐波那契数列的生成器函数. 2. 放一段scr ...

    6. 如何Dockerize您的端到端验收测试

      本文作为使用Selenium Docker映像以及CodeceptJS和Express服务器的“操作方法”指南. 其中,我们将涵盖: 什么是E2E验收测试? 为什么要使用Docker? 松散耦合的测试 ...

    7. 深入细枝末节,Python的字体反爬虫到底怎么一回事

      内容选自 即将出版 的<Python3 反爬虫原理与绕过实战>,本次公开书稿范围为第 6 章——文本混淆反爬虫.本篇为第 6 章中的第 4 小节,其余小节将 逐步放送 . 字体反爬虫开篇概 ...

    8. Python 爬虫工程师必看,深入解读字体反爬虫

      字体反爬虫开篇概述 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人 ...

    9. playwright--自动化(二):过滑块验证码 验证码缺口识别

      前两天需要自动化登录一个商城的后台 用的是playwright 没有用selenium 中间出了一个滑块验证 现阶段playwright教程不是太多,自己做移动的时候各种找,费劲巴拉的.现在自己整出来 ...

    随机推荐

    1. moviepy音视频剪辑:与大小相关的视频变换函数crop、even_size、margin、resize介绍

      ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<movi ...

    2. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下的子项列表中增加子项的方法

      老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 追加子项 QTreeWidgetItem类型的项构建以后,可以通过addChild(QTreeWid ...

    3. Nday漏洞组合拳修改全校师生密码

      很久以前写的文章了,发一下:) 本文是我真实的挖洞经历.撰写本文时相关学校已修复漏洞,相关漏洞也提交给了教育漏洞平台.纯粹是挖洞经验的总结和技术分享,由于敏感信息比较多,所以文章里面很多图片已经面目全 ...

    4. 百度前端技术学院-基础-day3

      2020.9.15 第三天的课程内容,复习了一些CSS的基础属性(果然不用就会忘). 学习了一些新的属性,比如text-shadow.text-indent(还不是很清楚).font-style等等. ...

    5. 学习笔记:斜率优化DP

      作为数学渣,先复习一下已知两点\((x_1, y_1)\), \((x_2, y_2)\),怎么求过两点的一次函数的斜率... 待定系数法代入 \(y = kx + b\) 有: \(x_1k + b ...

    6. 2020/12月最新WinSpy/WinSpy++下载exe

      >>>下载地址 https://wws.lanzous.com/iFUsVj931xa 密码:5hp7 解压密码:yunmuq 夹带私货:在这里希望大家分享文件别再用百度云了,不用百 ...

    7. 熟悉ES6常规看这一篇就够了!

      尊重原创:转自https://www.jianshu.com/p/287e0bb867ae 刚开始用Vue或者React,很多时候我们都会把ES6+这位大兄dei加入我们的技术栈中.但是ES6+那么多 ...

    8. MySQL PXC集群安装配置

      1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...

    9. Shiro实现Basic认证

      前言 今天跟小伙伴们分享一个实战内容,使用Spring Boot+Shiro实现一个简单的Http认证. 场景是这样的,我们平时的工作中可能会对外提供一些接口,如果这些接口不做一些安全认证,什么人都可 ...

    10. js 点击按钮下载图片,另存为

      js: 1 $(document).on('click',"#xiazai",function(){ 2 imgurl = $(".img-box").find ...