AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Google 发布 Puppeteer 1.0

  • 2018-01-30
  • 本文字数:1205 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Puppeteer 1.0 已经发布,其中进行了多项改进,包括对 JavaScript 堆栈以及页面性能的分析以及针对 JavaScript、CSS 的代码覆盖率信息。

Puppeteer 是一个 headless 自动化工具,它同时也是 Chrome 和基于 Chromium 网页浏览器的 API。Puppeteer 利用 Node.js 和 DevTools 协议,是一款良好的 Selenium WebDriver 替代品。

除了自动化浏览测试这一典型使用场景之外,Puppeteer 还可以应用于各种各样的浏览器自动化技术,包括重复执行任务、抓取内容以及生成屏幕截图等。Puppeteer 要求的 Node.js 的最低版本要达到 6.4,如果用户要使用更加现代的 ES2015+ API(例如 async/await)的话,用户的 Node.js 的版本要达到 8.x 或者更高。

该项目提供了一个运行于主机中的试用Puppeteer 应用程序,它能够帮助用户对Puppeteer 进行快速上手。

自从Puppeteer 最开始发布以来,它普遍地作为一种更加简便的方式被应用于将自动化引入至开发人员的工作流中。许多开发人员编写了大量的教程,并且提供了它们使用Puppeteer 进行工作时的反馈。

Valentino Gagliardi 是一名 JavaScript 以及 React 咨询师,他在所写的教程《 Using Puppeteer with Jest 》中谈到:

Puppeteer 给予了你无限的可能性。许多人都在使用 Puppeteer 来构建新的测试框架。它的 API 也得到了很大的改进,但是你必须要知道一些基本概念。

Gergely Nemeth 是一名 Node.js 专家,他在博客《 Simplicity of setting up Puppeteer 》中谈到了 Puppeteer 与基于 Selenium 工具的比较:

不论如何,你想要运行一个 Selenium 测试你都需要一个或是本地的或是云端的 Selenium 服务器或者 Selenium 集群,并且还需要浏览器驱动来控制 Chrome、Firefox 或是其它的浏览器。这个过程需要的组件太多了,并且很难能完全配置正确。为 Selenium 编写调试测试代码也是极具挑战性的,即便是编写一些简单的测试也不那么容易,比如从测试用例中抓取控制台输入结果、能够让你看清正在发生的事情或者拦截请求的慢速测试(slowdown test)。

不是所有人都坚信 Puppeteer 是迈向正确方向的一步。Oren Rubin 是 Testim.io 的 CEO,Testim.io 是一个机器学习测试自动化平台。Oren Rubin 提出了一个问题, Puppeteer 能否真正帮到开发社区,他在其中指出:

Selenium 的过人之处在于他们说服了所有的浏览器提供商都支持了相同的低级 API(这件事花费了很多年!他们试图说服 Apple、Microsoft 以及 Google 一起工作),他们甚至还用 10 种以上的语言(包括 JavaScript)实现了这个 API。

Puppeteer 最大的局限在于它仅仅支持对 Chrome 和基于 Chromium 的浏览器的测试。如果你需要进行自动化的跨浏览器测试,你还是应该使用基于 Selenium 的解决方案。有许多工具能够简化 Selenium 驱动安装的安装复杂性,能够简化其测试过程以及配置过程。

查看英文原文: Google Releases Puppeteer 1.0

2018-01-30 18:004197

评论

发布
暂无评论
发现更多内容

Presto 设计与实现(九):SQL 词法分析

冰心的小屋

数据湖 词法分析器 presto 设计与实现

ARTS 打卡第 2 周

Johnson

AI arts

如何学习

石小天

学习 学习方法 如何学习 技术学习

文心一言 VS 讯飞星火 VS chatgpt (82)-- 算法导论8.1 1题

福大大架构师每日一题

福大大架构师每日一题

不只致富,更要守富

少油少糖八分饱

财富自由 搞钱 致富 守富

2023 ARTS 02

MiracleWong

ARTS 打卡计划

【INFINI Workshop 深圳站】8 月 31 日一起动手实验玩转 Easysearch

极限实验室

深圳 INFINI Labs Workshop 极限科技

Zebec在Nautilus Chain 开启质押,ZBC 将极致通缩

鳄鱼视界

Kafka为什么这么快?

越长大越悲伤

Java kafka

ARTS 打卡02

AI帅辉

ARTS 打卡计划

ARTS 打卡第 2周

Geek_wu

ARTS 打卡计划

音量控制:Sound Control for Mac激活最新资源

胖墩儿不胖y

Mac软件推荐 音量控制软件 音量控制

C++友元函数和友元类

芯动大师

ARTS打卡第二周

穿过生命散发芬芳

ARTS 打卡计划

工赋开发者社区 | 以智能制造为主攻方向,扎实推进新型工业化

工赋开发者社区

ARTS 打卡 第一周,ARTS我来啦!

闫同学

ARTS 打卡计划

ARTS打卡第二周

请务必优秀

ARTS 0825 打卡

冰封的鸢尾花

ARTS 打卡计划

R语言之缺失值处理

timerring

R语言

关于RocketMQ的高可用

M

原创 RocketMQ 高可用

探索以太坊:智能合约、代币发行与去中心化应用

麦田的守望者

ARTS 打卡第 18 天

自由

ARTS 打卡计划

探索 React 初体验:从零开始构建你的第一个应用

麦田的守望者

基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇

亚马逊云科技 (Amazon Web Services)

云原生

ARTS打卡第二周

犇犇

ARTS 打卡计划

工赋开发者社区 | 工业智能化背景下制造业大数据的应用

工赋开发者社区

Presto 设计与实现(十):SQL 语法分析

冰心的小屋

数据湖 语法分析器 presto 设计与实现

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章