跳转到主要内容

UI 模式

简介

UI 模式让您可以通过时间旅行体验探索、运行和调试测试,并提供观察模式。所有测试文件都显示在测试侧边栏中,允许您展开每个文件和描述块,以单独运行、查看、观察和调试每个测试。您可以按名称项目(在您的playwright.config文件中设置)、@tag 或按执行状态(通过失败跳过)筛选测试。查看测试的完整跟踪,并向前和向后悬停在每个操作上,以查看每个步骤中发生了什么。您还可以将给定时刻的 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 快照弹出到其自己的窗口中,以获得更好的调试体验。从那里,您可以打开浏览器开发工具并检查 HTML、CSS、控制台等。返回 UI 模式并单击另一个操作并将其弹出,以便轻松地并排比较或单独调试每个操作。

pop out dom snapshot in ui mode

选取定位符

单击选取定位符按钮,然后将鼠标悬停在 DOM 快照上,即可查看鼠标悬停时突出显示每个元素的定位符。单击一个元素以添加定位符演练场。您可以在演练场中修改定位符,并查看修改后的定位符是否与 DOM 快照中的任何定位符匹配。一旦您对定位符满意,您可以使用复制按钮复制定位符并将其粘贴到您的测试中。

pick locator in ui mode

源代码

当您将鼠标悬停在测试的每个操作上时,该操作的代码行会在源面板中突出显示。此部分的右上角有一个“在 VSCode 中打开”按钮。单击该按钮后,它将直接在您单击的代码行处在 VS Code 中打开您的测试。

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

观察模式

在侧边栏中每个测试名称旁边,您会找到一个眼睛图标。单击该图标将激活观察模式,当您更改测试时,它将重新运行测试。您可以通过单击每个测试旁边的眼睛图标,或通过单击侧边栏顶部的眼睛图标来同时观察多个测试。

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 的情况下,端口默认情况下只能从您的帐户访问。