写点什么

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

评论

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

直播预告 | Homebrew 作者 Max Howell:如何打造杰出的开发者工具

玩转Devop和研发效能DevStream/DevLake

#开源

JPEX 围绕世界杯打造“平台 + 运动”新生态,为 JPC 深度赋能

股市老人

软件测试 | 测试开发 | 白盒测试方法论

测吧(北京)科技有限公司

白盒测试

JVM 优化踩坑记

PPPHUANG

JVM GC G1垃圾回收器 Java core

SRE 运维体系 CTO技术共享

CTO技术共享

百万粉丝养成记:写作4步法,解决文案创作的80%问题!

图灵社区

写作 脑科学

使用华为云GaussDB(for Redis)实现二级索引

科技怪咖

掌握这些核心算法,拿不到10个offer你来找我,我锤你个不争气的

收到请回复

Java 架构 算法 编程语言 语言 & 开发

怎么选择Java培训班?

小谷哥

Keepalived+HAProxy 搭建高可用负载均衡

CTO技术共享

百万粉丝养成记:写作4步法,解决文案创作的80%问题!

图灵教育

写作 脑科学

TDesign「issue一夏·疯狂的代码&设计」主题赛事火热进行中

TDesign

腾讯 前端

华为云GaussDB(for Redis)揭秘:谁说Redis不能存大key

科技怪咖

官宣!华为云GaussDB两大数据库通过中国信通院多项评测

科技怪咖

Spring Security系列教程09--基于自定义数据库模型实现授权

一一哥

spring security Spring Boot 2

大咖说·图书分享|混合云架构

大咖说

架构 混合云

【Metaverse系列三】虚幻引擎的故事

ThingJS数字孪生引擎

元宇宙 虚幻引擎

Spring Security系列教程10--基于过滤器实现图形验证码

一一哥

spring security Spring Boot 2 图片验证码

从西方舶来品到中国智造,美的R6强势引领嵌入式厨电风向标

Geek_2d6073

面试官:你知道MySQL和Linux操作系统是如何改进LRU算法的吗?

程序员小毕

Java MySQL 程序员 面试 LRU

Spring Security系列教程01--Spring Security系列教程简介

一一哥

spring security

4步教你做一个煤气安全提示神器

华为云开发者联盟

云计算 后端 物联网 IoT

华为云发布业界首个《云原生数据库白皮书》 重新定义数据新范式

科技怪咖

Databend 源码阅读系列(二):Query server 启动,Session 管理及请求处理

Databend

query query分析 大数据 开源 #开源 databend

DevOps技术产品链

CTO技术共享

软件测试 | 测试开发 | App测试时常用的adb命令你都掌握了哪些呢?

测吧(北京)科技有限公司

app测试

软件测试 | 测试开发 | App常见bug解析

测吧(北京)科技有限公司

bug

融云超级群的「同城社交平台」应用实践

融云 RongCloud

社交网络

java课程培训学习能成为合格的程序员吗?

小谷哥

web前端开发技术培训学习前景

小谷哥

Java培训的主要内容是什么?

小谷哥

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章