写点什么

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

评论

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

在线Emoji符号大全

入门小站

工具

Flutter 对状态管理的认知与思考

小呆呆666

flutter ios android 大前端 dart

有人出15万要买下这份384页JDK源码笔记的版权,但被我果断拒绝,为了大家,我要开源

Java 程序员 架构 面试 计算机

一个Product Owner的假设引发的思考

Bruce Talk

敏捷 随笔 Agile Product Owner

架构实战营 - 模块四作业

Alex.Wu

Morphling:云原生部署 AI , 如何把降本做到极致?

阿里巴巴云原生

阿里云 AI 云原生 Morphling

联机数据分析OLAP:Kylin入门

正向成长

kylin

报名领奖|云栖大会,10月19-22日杭州不见不散!

阿里巴巴云原生

阿里巴巴 阿里云 云原生 云栖大会

基于OpenCV+QT开发超实用的视频编辑器

轻口味

OpenCV 音视频 引航计划 9月日更

一文教你如何落地spring cloud alibaba企业级架构

小鲍侃java

后端 引航计划

Prometheus 2.27.0 新特性

耳东@Erdong

release Prometheus 9月日更

Chrome浏览器控制台支持中文

FunTester

chrome 浏览器 控制台 FunTester 中文

前端性能优化实战(二)

Augus

JavaScript 9月日更

25. 自动驾驶:AI最大的应用场景

Databri_AI

人工智能

网络攻防学习笔记 Day147

穿过生命散发芬芳

风险评估

缓存的弊端,你了解吗

卢卡多多

缓存 9月日更

Intel高管披露Arc显卡合作厂商?官方否认

科技新消息

Intel要跟华硕等OEM品牌推出DG2显卡?官方:消息不属实

科技新消息

学生管理系统架构设计文档

Rabbit

我写了一个脚本,可在“任意”服务器上执行命令!

冰河

Java 后台开发 运维 研发效能 系统架构

Spark 系列教程(1)Word Count

Se7en

linux之mktemp命令

入门小站

Linux

智能世界的罗马是怎样建成的?

脑极体

华为云开天aPaaS 上线,服务千万开发者,使能行业场景化创新

华为云开发者联盟

华为云 企业应用 开天aPaaS aPaaS 华为云生态

Go 中五个常见错误

baiyutang

golang 9月日更

从敏捷开发到全自动开发,加速实现企业数字化转型

SoFlu软件机器人

书单 | 带你轻松度假的10本好书!

博文视点Broadview

Canvas制作转盘和钢琴

空城机

typescript 大前端 canvas 引航计划

谈谈几种数据库优化方法和依据的指标

Regan Yue

数据库优化 9月日更

学习心得 - 架构训练营 - 第四课

Fm

ECS 选款利器!PTS助您快速上云!

阿里巴巴云原生

活动 ECS TPS

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章