Playwright
Playwright 是一个开源测试自动化框架。 它提供高级 API,用于自动化 Chrome、Firefox 和 Safari 等 Web 浏览器。
创建新的 Playwright 项目
在主菜单中,转到 。
或者,如果您在 欢迎 屏幕上,请单击 新建项目。
在左侧列表中选择 Playwright。

为新项目命名,如有必要可更改其位置。
指定 Node 解释器。
指定安装 Playwright 的命令。
单击 创建。
系统会根据您选择的选项创建一个新项目。
初始化 Playwright 项目
创建项目后,需要初始化项目。 在此过程中,您将选择所需语言、安装 Playwright 浏览器并指定其他设置。

要开始项目初始化:
在 运行工具窗口 Alt+4 中,使用键盘上的上下箭头键选择要用于项目的语言。
输入您希望放置端到端测试的文件夹名称。
指定是否要添加 GitHub Actions workflow。
指定是否需要安装 Playwright 浏览器。
当您指定所有参数后,初始化过程开始。 系统会在过程完成后通知您:

支持基于角色的定位器
在 Playwright 中,您可以通过 role 定位元素。 这有助于准确定位页面上的特定元素,例如按钮、复选框、标题、链接或其他元素。
WebStorm 可生成此类定位器并将其添加到代码中,以便在测试中使用。

将元素添加到代码中
打开要添加元素的文件。
单击右侧边栏中的
,以打开 Web 检查器 工具栏窗口。
在地址栏中指定页面的 URL。

单击
并在 Web 检查器中选择要添加的元素。

选择元素后,单击
将元素添加到代码中。

要添加特定类型的选择器(ID、 Name、 Tag with classes 等),请单击
并选择所需选项。

如果要在 CSS 与 XPath 定位器之间切换,请单击
并选择所需的定位器类型。

结果是生成一段代码并添加到代码编辑器中。
运行测试
要运行测试,请单击测试类或测试方法旁的
行号图标,然后从列表中选择 运行 选项。
另外,您可将光标置于测试类上以运行该类中的所有测试,或置于测试方法上按 Ctrl+Shift+F10。
您可以使用运行/调试配置,以更可自定义的方式运行测试。 有关详细信息,请参见 运行测试。
以 headed 模式运行测试
在有界模式下运行测试可让您直观了解 Playwright 如何与网站交互。
要在有界模式下运行测试:
在运行/调试配置切换器中单击当前配置,然后点击
并选择 编辑(E) 选项。

在 Playwright 选项 字段中,指定
--headed命令:
应用更改并运行测试。
运行结果会打开一个浏览器,以重现测试中的步骤。
查看测试结果
测试运行结束后,结果将显示在 测试运行器 工具窗口的 运行 选项卡中。 在此选项卡中,您可以重新运行测试、导出和导入测试结果、查看每个测试的运行时间并执行其他操作。

如需了解更多信息,请参阅 查看测试结果。
调试测试
一般而言,调试过程包括以下步骤:
为需要暂停执行的代码行设置断点。
以调试模式运行代码。
使用 调试 工具窗口分析代码并定位潜在问题。
修复问题。
要在 IDE 中重现这些步骤,请执行以下操作:
在边栏中,将鼠标悬停在您希望暂停执行的可执行代码行上,然后点击
。

在边栏中点击
,然后选择 调试。 这将启动调试器会话并运行您的代码。
程序执行到断点时将暂停,您可以在 调试 工具窗口中查看调试器会话的结果。

如需了解有关调试的更多信息,请参阅 调试代码。
生成 Playwright 报告
Playwright reporters 提供有关失败测试的详细信息,帮助您更深入分析测试执行期间发生的情况。
默认情况下会生成 html 报告,但您可以通过运行/调试配置切换为其他格式。 操作方法如下:
在运行/调试配置切换器中单击当前配置,然后点击
并选择 编辑(E) 选项。

在 Playwright 选项 字段中,指定所需的 reporter。 例如:
--reporter=line应用更改并运行测试。
运行结果将生成详细报告。

修改运行/调试配置
如果想要修改测试的启动属性,请编辑运行/调试配置:
在运行/调试配置切换器中单击当前配置并选择 编辑配置(R)… 选项。

在 运行/调试配置 对话框中,选择要编辑的配置。
配置所需的启动属性。

应用更改并点击 确定。
如需了解有关运行/调试配置的更多信息,请参阅 运行/调试配置。
自定义定位器模板
如果想要自定义所选元素添加到代码中的方式,您可以修改模板:
在状态栏中点击框架名称。 将打开 UI 自动化框架 菜单。

选择 自定义模板 选项。
在 文件与代码模板 对话框中,从列表中选择所需框架。

重写 Web 元素定位器的代码生成算法。
点击 确定 保存更改。
结果会根据更新后的代码生成算法将定位器添加到代码中。