50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

评论

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

青藤:省心又省钱!安全运营服务正在成为甲方企业的主流选择

青藤云安全

Linux之find命令的参数详解

CRMEB

龙蜥实验室来了!收下这份指南,秒级体验 Anolis OS

OpenAnolis小助手

国产操作系统 龙蜥社区

云计算厂商们,你们辜负了中国的用户

观测观测

云原生 云计算架构师

廖湘科:数据库需要充分利用开源和发展开源,广泛吸纳全产业力量

技术说|拓维·建木边缘计算平台,让算力先行一步

拓维信息

云计算 大数据 边缘计算

从GitHub 到极狐GitLab 的迁移指南

极狐GitLab

GitHub 极狐GitLab 迁移指南

中国电信发布运营商行业首个云原生关系型数据库TeleDB for openGauss

技术干货 | WebRTC 技术解析之 Android VDM

网易云信

Java android 音视频 VDM

新思科技:2022年软件安全行业七大趋势预测

InfoQ_434670063458

新思科技 2022 安全趋势

分享一个小故事

石云升

故事 1月月更

一篇从购买服务器到部署博客代码的详细教程

冴羽

nginx 前端 后端 博客 博客搭建

kubelet 的主动驱逐POD

Geek_f24c45

Kubernetes kubelet

openGauss Summit 2021你想知道的都在这!

共话数据库技术与行业数字化融合创新,探讨开源数据库未来发展

恒源云(GPUSHARE)_字节跳动的mRASP预训练模型真香

恒源云

字节跳动 机器翻译 语音识别

加密货币、去中心化金融和交易的演变:一种交易成本方法

CECBC

LabVIEW图像模式匹配(基础篇—11)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像模式匹配

双碳绿色风中,乘势而起了哪些新能源?

脑极体

AI开发平台系列1:AI开发平台“家族”概览

Baihai IDP

人工智能 ide AI 平台

应急响应-Yara规则木马检测

H

网络安全 应急响应

深入理解虚拟化

极客重生

云计算 容器 虚拟机 调度 资源隔离

openGauss数据库源码解析系列文章——存储引擎源码解析(一)

小声嘟囔:char 和 unsigned char 有那么大差距吗?

BUG侦探

c ios 汇编 ios开发

一周信创舆情观察(2021.12.27~2022.1.3)

统小信uos

openGauss 2021 感谢有您,一起创造了那些灿烂记忆

开源demo| anyRTC 互动白板发布,助力实时互动场景

anyRTC开发者

音视频 在线教育 视频会议 智慧协同 开源demo

数字人民币app公开上架应用市场 试点区域外用户暂无法使用

CECBC

05 Prometheus之监控主机和容器

穿过生命散发芬芳

Prometheus 1月月更

多IOT设备上跑物联网应用,你也可以

Speedoooo

物联网 IoT ios开发 Andriod开发

教你实现一个 iOS 重签名工具

37手游iOS技术运营团队

ios xcode

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章