use*_*943 18 safari webkit cross-browser playwright
我正在考虑使用 Playwright 编写一些 E2E 测试。我可以看到该库允许针对 Chromium、Firefox 和 Webkit 运行测试。我的理解是 Webkit 是 Safari 的底层引擎,而 Chromium 是 Chrome(和其他浏览器)的基础。
在针对 Webkit/Chromium 进行测试时,它与针对使用底层引擎的面向用户的浏览器进行测试有多接近?我想用户在使用 Safari 时会遇到一些怪癖,并且在 Webkit 上运行测试时不会被发现。
谢谢
arj*_*n27 20
谷歌 Chrome、Apple Safari 等常用浏览器嵌入了渲染引擎(Chromium、WebKit)并在其上添加内容。特别是,他们添加了专有媒体编解码器、注入浏览器扩展等。他们还添加了诸如书签同步之类的周边接口。但是他们重用了底层的 Web 平台实现。
Chromium 是 Google Chrome、Opera、Microsoft Edge 和其他浏览器使用的开源 Web 平台实现。它实现了 Web 规范、呈现内容、与网络配合使用等。 Playwright 使用可以通过 Playwright API 自动化进行 e2e 测试的库存 Chromium 构建。
对于谷歌浏览器来说,事情很简单:Chromium 是一个安全的测试目标,模专有媒体编解码器和 DRM。您可以将 Playwright 与现有的 Chrome Canary 或 Edge Canary 相对立,以使用专有媒体编解码器。
WebKit 是 Apple Safari 和 Epiphany 使用的开源 Web 平台实现。截至 2020 年 6 月,Playwright 提供了一个 WebKit 构建版本,可以使用 Playwright API 自动化进行 e2e 测试。Playwright WebKit 适用于所有平台(macOS、Linux、Windows),包括 headless 和 headful 模式。
当 WebKit 在 macOS 上运行时,它是测试 Safari 的安全目标。Linux 和 Windows 上的 WebKit 在以下方面与 Apple Safari 不同:它使用非 macOS 网络堆栈,使用非核心动画来合成场景并生成图像光栅。这意味着 Linux 和 Windows 上的屏幕截图不会与 macOS 上的屏幕截图完美匹配。在 Web 平台方面,相同的 WebKit 代码将布局页面并运行 JavaScript——它将匹配 WebKit 在 Safari 中的工作方式。
总而言之,我们认为 Playwright 提供的浏览器是 e2e 测试中最好的。在 Linux CI 上运行 WebKit 将使用与 macOS 不同的合成管道,但它可用于在 WebKit 驱动的浏览器中对 Web 应用程序进行 e2e 测试。
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |