写点什么

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:004446

评论

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

工业计算机:工业领域的智慧大脑

极客天地

网络问题导致金仓数据库备机无法加入集群的排查与解决​

金仓技术

KingBase 金仓数据库

5月13日观测云发布会:这一次,我们不只是发布产品

观测云

产品发布会

跨端生态与AI技术协同:移动研发范式的智能重构

xuyinyin

轮播图导航组件 | 纯血鸿蒙组件库AUI

华哥的全栈次元舱

开发语言 鸿蒙开发 纯血鸿蒙 ArkUI / eTS 鸿蒙组件库AUI

Flutter小程序与跨端组装技术:高效App开发的新范式

xuyinyin

太阳能薄膜频谱吸收率_CST软件仿真案例

思茂信息

cst CST软件 CST Studio Suite

类似亲家相亲,亲人朋友帮忙找对象的交友/app/小程序平台开发搭建

网站,小程序,APP开发定制

AI 编程实战:如何用 AI+DevBox 三周开发出 WAF 防火墙(保姆级教程)

硅基新手村

ide AI vscode cursor

在京东做AI的95后:我们这样搞定技术难题

京东零售技术

【IoTDB 线上小课 15】树表双模型,到底该怎么选?

Apache IoTDB

天润融通开启AI Agent新时代,引领客户服务智能化升级

天润融通

商超拣货业务流程与常见模式

PeterOne

人工智能 AI 运筹规划

【签约快讯|天润融通签约极核电动】

天润融通

天润融通助力工业巨头,从人工派单到智能调度的售后提效之路

天润融通

解决金仓数据库启动报错“内存不足”的问题

金仓技术

KingbaseES 金仓数据库

Nacos源码—Nacos集群高可用分析(二)

不在线第一只蜗牛

发件箱模式实战

俞凡

最佳实践 设计模式

天润融通AI Agent实战营成功举办,助力企业革新客户服务模式

天润融通

高性能发件箱模式(每天处理20亿条消息)

俞凡

最佳实践 设计模式

AI与情感计算:如何让机器更好地理解人类情感与情绪?

天津汇柏科技有限公司

人工智能 AI

云上玩转Qwen3系列之二:PAI-LangStudio搭建联网搜索和RAG增强问答应用

阿里云大数据AI技术

人工智能 rag PAI Qwen3 LangStudio

『Plotly实战指南』--在金融数据可视化中的应用(上)

量贩潮汐·WholesaleTide

Python

不止于展“世亚人工智能展·世亚智博会”引领科技与商贸新变革

AIOTE智博会

人工智能展

e签宝智能合同Agent于数字中国重磅发布!

科技汇

0 代码,一键部署 Qwen3

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践

阿里云大数据AI技术

人工智能 大模型 模型部署 PAI DistilQwen2.5

MCP 规范新版本特性全景解析与落地实践

阿里巴巴云原生

阿里云 云原生 通义灵码

当 CEO 患上了 AI 焦虑症(之四):NoETL,万数皆可问!

Aloudata

数据分析 数据开发 指标平台 ChatBI 智能问数

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章