问题标签 [playwright-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
174 浏览

javascript - 如何并行运行测试套件而不是单个测试

我正在使用 Playwright.dev 来自动化我们的 UI 测试。目前我面临以下问题:

在一个spec.ts文件中,我有不同的测试套件。这些测试套件应该并行运行,而不是每个测试。我无法将这些测试套件拆分为单独的文件,因为它们是动态创建的。我为什么要运行每个测试套件系列的测试是为了重用现有页面。因为在不完全刷新页面的情况下重用页面要快得多。我将尝试用一些伪代码来解释我的问题:

有什么方法可以在 Playwright 中实现以下行为,还是我必须重新考虑我的方法?

0 投票
1 回答
875 浏览

javascript - 错误:找不到模块“@playwright/test”

我目前正在尝试使用 expect 来做断言,const { expect } = require('@playwright/test');但每次我得到错误:找不到模块'@playwright/test'。这是一个非常短的脚本,但其中有问题。

包.json

没有这个测试工作正常:

它做我要求它做的事情,但是现在我想做断言并且我补充说,现在它不起作用。

0 投票
1 回答
516 浏览

javascript - Playwright before each for all spec files

I very new to Playwright. Due to my test suites, I need to login into my application before running each test. Inside a single spec file that is easy, I can simply call test.beforeEach. My issue is: I need to before the login before each test of each spec file.

I tried simply taking that code and and making it a function inside a separate .ts file and then importing it, but I figured the context is needed in order to do this. This is probably something every tester that uses playwright knows and uses regularly, however, I did not find anything on the subject.

How can I avoid copying the entire code of beforeEach and pasting it to all my spec files? How can I make it a function and call it whenever I want?

0 投票
0 回答
45 浏览

playwright - 是否可以与剧作家一起创建模块化测试?

我正在尝试使用 JavaScript 中的 Playwright 测试对 Web 应用程序进行测试,但我想让它们模块化,以避免重复代码。假设有两个测试需要填写一个表格。是否可以在这两个测试中包含一个包含填写表格的文件,而不是编写代码来填写两个测试中的表格?

登录.spec.mjs

我们如何调用这些函数,它们都被命名为“test()”?这是进行测试的好方法吗?

0 投票
1 回答
270 浏览

playwright - 如何使用 Playwright 运行特定文件?

A 有多个测试文件到扩展名为 spec.ts 的特定文件夹中,我如何使用 Playwright 运行特定文件。当前配置设置为测试文件夹,并将从中运行所有文件(测试):

testDir: './smokeTests',

假设这是配置文件中的某个选项,但问题是哪一个

0 投票
1 回答
139 浏览

c# - 从配置文件中读取值以进行 playwright.net 测试

我想为用 C# 编写的 playwright.net 测试加载配置文件。例如,用户名、无头模式等。我不确定我是否需要添加一个 appsettings 或只是一个配置文件并添加这些参数?我尝试使用带有键值对的配置文件的配置文件,然后将其添加到脚本中:ConfigurationManager.AppSettings [“用户名”],但这不起作用。它是如何使用的?appsettings.json 或 App.config。我正在使用带有 .net 核心的 c# 编写 playwright.net 测试。请建议或提供任何示例以遵循

谢谢你

0 投票
1 回答
117 浏览

javascript - 带有 Playwright 测试的页面对象模型设计问题

下面是测试文件的代码

下面是 Screen 类之一的代码

现在上面的代码工作正常。但是在 Screen 类中,由于没有定义 Page 对象,因此在使用 Page 方法时没有可用的自动完成/文档。

eg在写page.click()时,IDE不识别click函数,不建议正确的参数

有没有办法解决这个问题?

0 投票
0 回答
88 浏览

c# - 如果元素不可见,如何使刷新页面超时

如果使用自动化脚本不可见元素,我设法在下面添加一个脚本以刷新页面,这可行,但我希望它在一段时间后停止刷新,例如 20 秒或如果元素不可见则多次所以测试会失败,所以它不会无限刷新。请提供有关如何通过示例实现此目的的任何建议,或者如何修改下面的代码以使其正常工作?我尝试向 reloadAsync 方法引入超时,但它不接受它。

0 投票
1 回答
140 浏览

visual-studio-code - Playwright 不会在 mac 上的 VSCode Dev Container 中运行

这个 repo中的简单 playwright 测试使用 npm 脚本在带有 vscode 的 mac 上运行test。如果我在 devcontainer(在 ./devcontainer 中)中打开相同的 repo,则测试失败,并出现有关缺少依赖项的错误:

我已将容器尝试为 14、16、14-bullseye 和 16-bullseye。虽然我现在在 Mac 上,但 CICD 将是真正的 linux。

  1. 如何让容器在我的 mac 上运行测试
  2. 无论是 mac 还是 linux,我如何让同一个容器工作
0 投票
0 回答
22 浏览

python - 剧作家 Python--> 没有运行测试

当我尝试运行示例代码时

我在下面:

======== 测试会话开始 ================ 平台 win32 -- Python 3.10.0, pytest-6.2.5, py-1.11.0, pluggy- 1.0.0 rootdir: C:\Users\Ardavi\Desktop\Pythontest plugins: base-url-1.4.2, playwright-0.2.2 收集 0 件

============ 0.02 秒内没有运行测试 ===============

我可以在这里错过什么?