在Safari和Webkit上进行测试有什么区别?

问题描述 投票:2回答:1

我正在使用Playwright编写一些E2E测试。我可以看到该库允许针对Chromium,Firefox和Webkit运行测试。我的理解是Webkit是Safari的底层引擎,而Chromium是Chrome(和其他浏览器)的基础。

关于Webkit / Chromium进行测试,与使用底层引擎的面向用户的浏览器进行测试有多接近?我以为在使用Safari时用户可能会遇到一些怪癖,而在Webkit上运行测试时不会被捕获。

谢谢

safari cross-browser webkit playwright
1个回答
0
投票

[股票浏览器,例如Google Chrome,Apple Safari嵌入了渲染引擎(Chromium,W​​ebKit),并在其之上添加了内容。特别是,它们添加专有的媒体编解码器,注入浏览器扩展等。它们还添加周围的接口,例如书签同步。但是他们重用了底层的Web平台实现。

Chromium是Google Chrome,Opera,Microsoft Edge和其他浏览器使用的开源Web平台实现。它实现Web规范,呈现内容,与网络配合使用等。Playwright使用可通过Playwright API进行自动化的e2e测试的Chromium版本库存。

对于Google Chrome浏览器,事情很简单:Chromium是测试专有媒体编解码器和DRM模数的安全目标。您可以将Playwright指向普通的Chrome Canary或Edge Canary,以使用专有的媒体编解码器。

WebKit

WebKit是Apple Safari和Epiphany使用的开源Web平台实现。截至2020年6月,Playwright提供了一个WebKit构建,可使用Playwright API对其进行自动化以进行e2e测试。 Playwright WebKit可在无头和无头模式下在所有平台(macOS,Linux,Windows)上运行。

当WebKit在macOS上运行时,测试Safari是一个安全的目标。 Linux和Windows上的WebKit在以下方面与Apple Safari有所不同:它使用非macOS网络堆栈,使用非Core Animation来合成场景并生成图像栅格。这意味着Linux和Windows上的屏幕截图无法完全匹配macOS上的屏幕截图。就Web平台而言,相同的WebKit代码将布局页面并运行JavaScript-它将与WebKit在Safari中的工作方式匹配。

总而言之,我们认为Playwright提供的浏览器是e2e测试中最好的浏览器。在Linux CI上运行WebKit会使用与macOS不同的合成管道,但可用于在基于WebKit的浏览器中对Web应用程序进行端到端测试。

© www.soinside.com 2019 - 2024. All rights reserved.