一个与 Puppeteer 类似的端到端(e2e)测试工具。

Playwright 为当代 Web 应用程序提供可靠的端到端测试。

支持所有浏览器

在 Chromium、Firefox 和 WebKit 上进行测试。Playwright 拥有适用于所有当代浏览器的完整 API,包括 Google Chrome 和 Microsoft Edge(带有Chromium)、Apple Safari(带有WebKit)和 Mozilla Firefox。

跨平台 WebKit 测试。借助 Playwright,使用适用于 Windows、Linux 和 macOS 的 WebKit 构建测试您的应用在 Apple Safari 中的行为。在本地和 CI 上进行测试。

测试手机。使用设备模拟在移动 Web 浏览器中测试您的响应式 Web 应用程序。

无头和有头。Playwright 支持所有浏览器和所有平台的无头(无浏览器 UI)和有头(带浏览器 UI)模式。Headed 非常适合调试,而 Headless 速度更快,适合 CI/云执行。

快速可靠的执行

自动等待 API。Playwright 动会自动等待元素准备就绪。这提高了可靠性并简化了测试编写。

无超时自动化。Playwright 接收浏览器信号,如网络请求、页面导航和页面加载事件,以消除导致不稳定的睡眠超时的需要。

使用浏览器上下文快速隔离。将单个浏览器实例重用于具有浏览器上下文的多个隔离执行环境。

弹性元素选择器。Playwright 可以依靠面向用户的字符串(如文本内容和可访问性标签)来选择元素。这些字符串比紧密耦合到 DOM 结构的选择器更有弹性。

强大的自动化功能

多个域、页面和框架。Playwright 是一个进程外自动化驱动,不受页内 JavaScript 执行范围的限制,可以自动化多页面场景。

强大的网络控制。Playwright 引入了上下文范围的网络拦截来存根和模拟网络请求。

当代浏览器功能特性。Playwright 支持 web components、地理定位、权限、 web workers 和其他当代 web APIs.

覆盖所有场景的能力。支持文件下载和上传、进程外 iframe、本机输入事件,甚至暗黑模式。

安装

Playwright 有自己的测试运行器用于端到端测试,我们称之为 Playwright 测试。

npm i -D @playwright/test
# install supported browsers
npx playwright install

您可以选择仅安装选定的浏览器

第一次测试

创建 tests/foo.spec.js(或 tests/foo.spec.ts 用于 TypeScript)来定义您的测试。

import { test, expect } from '@playwright/test';test('basic test', async ({ page }) => {await page.goto('https://playwright.dev/');const title = page.locator('.navbar__inner .navbar__title');await expect(title).toHaveText('Playwright');
});

现在运行您的测试,假设测试文件在tests目录中。

npx playwright test

Playwright Test 刚刚使用 Chromium 浏览器以无头方式运行了一个测试。让我们告诉它使用有头浏览器:

npx playwright test --headed

其他浏览器呢?让我们使用 Firefox 运行相同的测试:

npx playwright test --browser=firefox

最后,在所有浏览器上测试:

npx playwright test --browser=all

Playwright 可靠的端到端测试相关推荐

  1. 使用.NET Core 编写端到端测试

    什么是端到端测试 端到端测试也称E2E,与单元测试.集成测试.组件测试.契约测试相比,端到端测试的目的是验证整个系统是否满足业务目标,而不管使用的组件架构如何,为了实现这一点,系统被视为一个黑盒子,测 ...

  2. 全栈测试:平衡单元测试和端到端测试

    全栈开发人员的特点是能够从头到尾交付并发布一个特性.教程和书籍常常侧重于搭建全栈开发环境和让测试能够进行所需要的"管件(plumbing)"(我综合运用了Angular.Rails ...

  3. 端到端测试哪家强?不容错过的Cypress

    阅读原文 1. 目前E2E测试工具有哪些? 项目 Web Star puppeteer Chromium (~170Mb Mac, ~282Mb Linux, ~280Mb Win) 31906 ni ...

  4. E2E 端到端测试学习 - E2E 介绍、Cypress 案例基本使用

    E2E 测试介绍 E2E E2E(end to end)端到端测试是最直观可以理解的测试类型.在前端应用程序中,端到端测试可以从用户的视角通过真实浏览器自动检查应用程序是否正常工作. E2E 把整个系 ...

  5. 谈谈端到端测试(End-to-End Testing)

    谈谈端到端测试(End-to-End Testing) 当今的软件系统是复杂的,并且与许多子系统相互关联.如果任何子系统出现故障,整个软件系统都可能崩溃.这是一个主要的风险,可以通过端到端测试来避免. ...

  6. 如何使用Threatest测试端到端威胁检测规则的有效性

    关于Threatest Threatest是一个基于Go开发的安全测试框架,该框架可以帮助广大研究人员测试端到端威胁检测规则的有效性与可用性. Threatest允许我们使用各种渗透测试技术对目标进行 ...

  7. 测试你的前端代码 - part3(端到端测试)

    本文作者:Gil Tayar 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58d50da37413fc2e8240855c ...

  8. 如何做好 Android 端音视频测试?

    在用户眼中,优秀的音视频产品应该具有清晰.低延时.流畅.秒开.抗丢包.高音效等特征.为了满足用户以上要求,网易云信的工程师通过自建源站,在SDK端为了适应网络优化进行QoS优化,对视频编码器进行优化, ...

  9. 我与无影的初体验:使用无影云桌面进行一个开源 Angular 项目的端到端测试

    近日很荣幸地收到了阿里云邀请做一个关于阿里旗下无影云桌面的评测,从官网上了解到阿里云无影云桌面原名为弹性云桌面,融合了无影产品技术后更名升级,可广泛应用于具有高数据安全管控.高性能计算等要求的安全办公 ...

最新文章

  1. All firmware and drivers for HP ESX servers
  2. Linux内核源码分析--内核启动之(2)Image内核启动(汇编部分)(Linux-3.0 ARMv7) 【转】...
  3. gitlab的日常使用
  4. Python 定时任务框架 APScheduler
  5. apache工作模式
  6. 转载 Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
  7. java1.7开发环境_在Windows平台搭建Java 1.7开发环境
  8. matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...
  9. 移动5G套餐价格被工作人员曝光了?这价格没让我失望!
  10. JDBC连接数据库的8个步骤
  11. Python之isinstance
  12. exists sql用法_《SQL进阶教程》笔记(3)
  13. css怎么设置图片显示圆角,关于在css里设置图片圆角的问题
  14. 手机连接蓝牙扫码枪_如何正确使用蓝牙扫描枪
  15. Vue和Springboot实现SM4加密和解密(前端可加密,后端可加解密,MD5同理)
  16. Android——excise(用线性布局、表格布局、相对布局做发送邮件界面)
  17. 轮换对称性实质 和差化积公式之sinθ+cosθ推导 rd原理,二重积分坐标系转化为什么多了个r; 二重积分几何意义: 二重积分物理意义: 二重积分求导:
  18. android7 api中文版pdf,android 7 api 中文
  19. 自定义View-饼状图(百分比图)
  20. Java输出一个*号十字架

热门文章

  1. CSDN 创始人蒋涛:选择长沙作“大本营”,打造开发者中心城市
  2. 阿里回应被列为被执行人;Linus Torvalds:我已经不是程序员;Ant Design 4.4.1 发布 | 极客头条
  3. 黑客用上机器学习你慌不慌?这 7 种窃取数据的新手段快认识一下
  4. 全方位解析阿里云核心技术竞争力,CSDN 独家在线峰会来了!
  5. 揭秘支撑双 11 买买买背后的硬核黑科技!
  6. 如何用 Python 给女友准备甜蜜的七夕礼物?
  7. 面对 996,程序员如何利用“碎片时间”涨薪?
  8. 你还没听过 CynosDB 吗?不来这场数据库技术沙龙就要 OUT 了!
  9. 微软彻底告别移动操作系统!
  10. AWS 开战 MongoDB!