10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

YashanDB与云服务的高效协同运作

数据库砖家

鸿蒙5开发宝藏案例分享---应用性能优化指南

莓创技术

颠覆传统!飞算 JavaAI 如何让程序员告别 “996 地狱”?

飞算JavaAI开发助手

深入研究:淘宝天猫商品评论接口详解

tbapi

淘宝商品评论接口 天猫商品评论接口 淘宝API 淘宝评论API 天猫评论API

AI 应用开发(一):TRAE 下自定义 MCP Server

北桥苏

MCP AI应用开发

YashanDB与人工智能结合提升数据库智能化水平

数据库砖家

鸿蒙5开发宝藏案例分享---冷启动优化案例分享

莓创技术

鸿蒙5开发宝藏案例分享---Web开发优化案例分享

莓创技术

华为Pura 80,让“三我”终相见

脑极体

AI

深入研究:淘宝天猫商品详情接口详解

tbapi

淘宝API 天猫商品详情接口 天猫API 淘宝详情接口

HarmonyOS开发记录:Cloud Foundation Kit在美颜相机中的云服务集成

yimapingchuan

HarmonyOS NEXT

英特尔代工:协同生态建设,铸就客户信任

E科讯

618 懒猫微服私有云大促

玄兴梦影

NAS 懒猫微服

YashanDB与机器学习的结合:提升数据利用率

数据库砖家

抄作业!JNPF靠“拖拽”通吃7大行业?

秃头小帅oi

深入研究:淘宝天猫关键词搜索接口详解

tbapi

淘宝API 天猫API 关键词搜索淘宝接口 淘宝商品列表接口 天猫商品列表接口

YashanDB与区块链结合的可能性与未来前景

数据库砖家

鸿蒙5开发宝藏案例分享---长列表性能优化解析

莓创技术

常见的数据处理方法有哪些?ETL中的数据处理怎么完成

RestCloud

MySQL 数据库 数据处理 ETL 数据集成工具

智能手表地图新体验,RTOS系统助力全球行

高德开放平台

AI 地图 智能手表 高德

淘宝天猫拍立淘图片搜索商品接口(附代码示例)

tbapi

淘宝API 淘宝图片搜索接口 淘宝拍立淘接口 天猫图片搜索接口 天猫拍立淘接口

YashanDB与人工智能应用的结合前景

数据库砖家

鸿蒙5开发宝藏案例分享---跨线程性能优化指南

莓创技术

无需公网IP,轻松实现ComfyUI远程访问

贝锐

内网穿透 ComfyUI

大数据-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL

武子康

大数据 hadoop mapreduce hive

YashanDB与数据仓库的整合:如何实现数据集中管理?

数据库砖家

鸿蒙5开发宝藏案例分享---Web加载时延优化解析

莓创技术

YashanDB与容器技术结合,构建现代云原生数据库

数据库砖家

YashanDB与机器学习结合的未来发展趋势

数据库砖家

低代码与数字经济深度耦合:技术范式迭代下的企业数字化转型新路径

不在线第一只蜗牛

AI 低代码 数字经济

万元好礼等你拿!飞算 JavaAI 炫技赛喊你当 “甲方爸爸”

飞算JavaAI开发助手

Google发布Puppeteer 1.0_JavaScript_Dylan Schiemann_InfoQ精选文章