跳至主要内容

UI 模式

简介

UI 模式允许您探索、运行和调试测试,并提供完整的时光倒流体验,包括监视模式。所有测试文件都加载到测试侧边栏中,您可以在其中展开每个文件和描述块,以单独运行、查看、监视和调试每个测试。按**文本**或**@tag**或按**通过**、**失败**和**跳过**的测试以及按项目(如在您的 playwright.config 文件中设置)筛选测试。查看测试的完整跟踪,并在每个操作上前后悬停以查看每个步骤中发生了什么,并将 DOM 快照弹出到单独的窗口以获得更好的调试体验。

打开 UI 模式

要打开 UI 模式,请在您的终端中运行以下命令

npx playwright test --ui

运行您的测试

启动 UI 模式后,您将看到所有测试文件的列表。您可以通过单击侧边栏中的三角形图标来运行所有测试。您还可以通过将鼠标悬停在名称上并在其旁边单击三角形来运行单个测试文件、测试块或单个测试。

running tests in ui mode

筛选测试

按文本或 @tag 或按通过、失败或跳过的测试筛选测试。您还可以按项目(如在您的 playwright.config 文件中设置)进行筛选。如果您使用的是项目依赖项,请确保在运行依赖于它们的测试之前先运行您的设置测试。UI 模式不会考虑设置测试,因此您必须先手动运行它们。

filtering tests in ui mode

时间线视图

在跟踪的顶部,您可以看到测试的时间线视图,使用不同的颜色突出显示导航和操作。前后悬停以查看每个操作的图像快照。双击操作以查看该操作的时间范围。您可以使用时间线中的滑块来增加选定的操作,这些操作将显示在“操作”选项卡中,并且所有控制台日志和网络日志都将被过滤,以仅显示所选操作的日志。

timeline view in ui mode

操作

在“操作”选项卡中,您可以看到每个操作使用了哪个定位器以及每个操作运行了多长时间。将鼠标悬停在测试的每个操作上,并直观地查看 DOM 快照的变化。在时间上向前和向后移动,并单击操作以进行检查和调试。使用“之前”和“之后”选项卡以直观地查看操作之前和之后发生了什么。在 ui 模式中使用之前和之后的操作

弹出并检查 DOM

通过单击 DOM 快照上方的弹出图标,将 DOM 快照弹出到其自己的窗口中,以获得更好的调试体验。从那里,您可以打开浏览器 DevTools 并检查 HTML、CSS、控制台等。返回 UI 模式并单击另一个操作并将其弹出以轻松地并排比较两者或单独调试每个操作。

pop out dom snapshot in ui mode

选择定位器

单击选择定位器按钮并在 DOM 快照上悬停以查看您悬停的每个元素的定位器突出显示。单击元素以添加定位器游乐场。您可以在游乐场中修改定位器,并查看您的修改后的定位器是否与 DOM 快照中的任何定位器匹配。对定位器满意后,您可以使用复制按钮复制定位器并将其粘贴到您的测试中。

pick locator in ui mode

源代码

当您将鼠标悬停在测试的每个操作上时,该操作的代码行将在源代码面板中突出显示。

showing source code of tests in ui mode

调用

“调用”选项卡显示有关操作的信息,例如花费的时间、使用了哪个定位器、是否处于严格模式以及使用了哪个键。

showing call tab in ui mode

日志

查看测试的完整日志,以更好地了解 Playwright 在幕后执行的操作,例如滚动到视图中、等待元素可见、启用和稳定以及执行点击、填充、按下等操作。

showing log of tests in ui mode

错误

如果您的测试失败,您将在“错误”选项卡中看到每个测试的错误消息。时间线还将显示一条红线,突出显示错误发生的位置。您还可以单击“源代码”选项卡以查看错误在源代码的哪一行。

showing errors in ui mode

控制台

查看来自浏览器以及来自测试的控制台日志。将显示不同的图标以向您显示控制台日志是否来自浏览器或测试文件。

showing console logs from tests in ui mode

网络

“网络”选项卡显示在测试期间发出的所有网络请求。您可以按不同类型的请求、状态代码、方法、请求、内容类型、持续时间和大小进行排序。单击请求以查看有关它的更多信息,例如请求标头、响应标头、请求正文和响应正文。

showing network requests from tests in ui mode

附件

“附件”选项卡允许您浏览附件。如果您正在进行视觉回归测试,则可以通过检查图像差异、实际图像和预期图像来比较屏幕截图。当您单击预期图像时,您可以使用滑块将一个图像滑到另一个图像上,以便您可以轻松地查看屏幕截图中的差异。

ui mode with attachments

元数据

在“操作”选项卡旁边,您将找到“元数据”选项卡,该选项卡将向您显示有关测试的更多信息,例如浏览器、视口大小、测试持续时间等。

metadata tab in ui mode

监视模式

在侧边栏中每个测试的名称旁边,您会找到一个眼睛图标。单击该图标将激活监视模式,该模式将在您对其进行更改时重新运行测试。您可以通过单击每个测试旁边的眼睛图标或通过单击侧边栏顶部的眼睛图标来同时监视多个测试。如果您使用的是 VS Code,则可以通过单击眼睛图标旁边的文件图标轻松打开您的测试。这将在 VS Code 中打开您的测试,正好位于您单击的代码行。

watch mode in ui mode

Docker 和 GitHub Codespaces

对于 Docker 和 GitHub Codespaces 环境,您可以在浏览器中运行 UI 模式。为了使端点能够从容器外部访问,它需要绑定到 0.0.0.0 接口

npx playwright test --ui-host=0.0.0.0

在 GitHub Codespaces 的情况下,端口会自动转发,因此您可以通过单击终端中的链接在浏览器中打开 UI 模式。

要拥有一个静态端口,您可以传递 --ui-port 标志

npx playwright test --ui-port=8080 --ui-host=0.0.0.0
注意

请注意,当指定 --ui-host=0.0.0.0 标志时,包含您的跟踪、密码和密钥的 UI 模式可从网络中的其他机器访问。在 GitHub Codespaces 的情况下,默认情况下,端口只能从您的帐户访问。