剧作家未收到事件

2024-01-16

我对编剧有意见page.waitForEvent() https://playwright.dev/docs/api/class-page#page-wait-for-event:

我希望我的测试在单击链接后导航到不同页面后等待我们的应用程序触发的特定事件。新导航到的页面上有一个组件需要一些时间来加载,我们会触发一个自定义事件来表明它已准备好使用。

事件触发如下所示:

const event = new Event('componentReady')
window.dispatchEvent(event)

在我的剧作家测试中,我试图等待这个事件,按照文档 https://playwright.dev/docs/api/class-page#page-wait-for-event:

const [frame, _] = await Promise.all([
    this.page.waitForEvent('componentReady'),
    this.page.locator('button').click(),
])

问题是我的测试挂起并最终超时page.waitForEvent()没有检测到我的'componentReady'事件。有没有人尝试过page.waitForEvent()前?我在这里做错了什么吗?

目前,我的测试只是等待一些预定义的时间,但在不同的网络条件和不同的硬件上,有时等待时间过长,会浪费时间,或者等待时间过少,导致测试失败,因为东西尚未加载。显然这并不理想,我想通过使用适当的信号来避免这种情况。

注意:我已经验证事件实际上正在被触发,从而创建一个打印到控制台的侦听器。

window.addEventListener('componentReady', (e) => { console.log('Fired event "componentReady"', e) })

事实上,当剧作家单击按钮时,我可以看到下面的消息正在打印到控制台。我什至在测试运行时通过注入了上面的监听器page.evaluate()如果我暂停测试执行并打开 playwright 运行的浏览器的 DevTools -> Console,我还可以看到控制台输出。

我似乎找不到任何其他有关问题的报告page.waitForEvent()因此,如果您能提供任何建议或可能有帮助的资源,我将不胜感激。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剧作家未收到事件 的相关文章

随机推荐

  • 在 Ubuntu 18.04 上安装 sbt 时出错:“gpg:密钥服务器接收失败:参数无效”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在关注官方 sbt 安装说明 https www scala sbt org 1 x docs Installing sbt
  • 在 Makefile 脚本中读取用户输入

    我有一个非常简单的 Makefile 只是递归调用另一个子目录 make all cd addons godot haskell plugin make cd run cd addons godot haskell plugin make
  • 如何使用nosetests分别组织和运行单元测试和功能测试

    我有以下典型的 python 项目文件结构 packageA subpackage1 classa py subpackage2 classb py test subpackage1 classa test py subpackage2 c
  • 链接 boost 库时程序退出且没有错误

    我在将 boost 库链接到交叉编译的 C 程序中时遇到问题 我编写的代码是在 Ubuntu 12 04 下与 CodeSourcery 交叉编译的 用于 arm 目标 Pandaboard 也是 Ubuntu 12 04 在没有库的情况下
  • 在循环内绑定 PDO 语句的参数

    我正在尝试在循环内绑定 SQL 查询的参数 db new PDO mysql dbname test host localhost test stmt db gt prepare INSERT INTO entries VALUES NUL
  • 如果为 null,则设置为新实例的 C# 扩展方法

    我有以下扩展方法来帮助我检查和实例化对象 如果它们为空 前两个工作正常 但不是很有用 public static bool IsNull
  • 在 Mac 上的 Python 中创建消息框?

    目前正在学习 Cybrary 的免费 Python 在线课程 我正在使用 3 6 进行编码 但我使用的是 Mac 而演示者使用的是 Windows 到目前为止 如果有的话 差异也很小 然而 当前部分涉及学习和使用 Ctypes 作业 说的是
  • Postgresql - 在 sql 脚本中将参数传递给 COPY

    我可以使用 v v1 foo语法对于我的 sql 脚本中的查询来说很好 但我不知道如何在复制语句中使用该参数 我想执行如下脚本 psql d my db f exports sql v v1 Users username test json
  • 如何在 GWT 中使用 XMLHttpRequest?

    XMLHttpRequest 是 GWT 客户端 HTTP 调用的替代方案 允许控制请求 响应的各个方面 但如何使用呢 javadoc地址 http www gwtproject org javadoc latest com google
  • Django url 参数和反向 URL

    我有一个看起来像这样的视图 def selectCity request the city request session ciudad the city city request session ciudad return HttpRes
  • OAuth 自定义提供程序 C#

    我需要创建一个自己的 OAUTH 提供商 以验证第三方应用程序请求 我不想使用 Google Twitter LinkedIn Microsoft 提供商 我必须创建自己的提供程序来验证请求并向客户端返回访问令牌 但网上的所有帮助都与外部提
  • 授权属性的 MVC5 声明版本

    我正在使用 MVC5 和新的 OWIN 身份验证中间件尝试 VS2013 RC 中的一些新功能 所以 我习惯使用 Authorize 属性来按角色限制操作 但我正在尝试使用基于声明 活动的授权 但我找不到它的等效属性 我是否缺少一个明显的东
  • XMPP Bosh 与 SignalR

    XMPP相对于SignalR有更多优势吗 它们都使用 http 长轮询机制 我无法决定是否应该使用 XMPP 作为我的聊天应用程序 还是应该使用 SignalR 并将所有内容保留在我的 IIS 服务器上 SignalR 使用多种传输方式 请
  • 如何在源代码中强制执行单线程构建

    背景 我为一些非常专业的数据处理创建了许多小型实用程序 通常 我是唯一的用户 我什至没有考虑多线程编程 因为运行时性能对于我的用例来说已经足够了 关键资源是我的编程时间 所以我想避免多线程编程所需的任何额外工作 然而 当我将来重用我的代码时
  • android - “您的设备与此版本不兼容”

    我在 Play 商店中放置了一个应用程序 我运行 4 1 Nexus 7 的朋友在尝试安装我的应用程序时收到以下消息 您的设备与此版本不兼容 为什么这个来了 请任何人帮助我 Manifeast file lt xml version 1 0
  • Android 中 Google 地图标记周围的脉冲环动画

    我想在 Android google mapFragment 中的蓝点当前用户位置添加脉冲环动画 如 Uber 有人能帮我解决这件事吗 我找到了向标记添加脉动动画的解决方案 这是地图部分 这里变量 map 表示您的地图 private Ci
  • 如何优化以下for循环代码?

    我有一个非常大的数据集 我正在使用以下代码 计算花费了太多时间 我想减少迭代次数 如何提高代码的性能 import numpy as np Z np asarray 1 2 3 4 5 6 7 8 R np asarray 1 2 3 4
  • Firestore Timestamp.fromDate 不是 UTC

    有人知道如何在 Firestore 中保留 UTC 时间戳吗 In my Angular应用程序 如果我将今天的日期转换为如下所示的时间戳 我最终会得到一个UTC 2 瑞士现在是夏令时 Firestore 数据库中的日期 import fi
  • GAE NDB 安装已部署

    我的 Google App Engine 应用程序使用数据存储区 NDB 所以我要导入 from google appengine ext import ndb 但是当我部署并转到我的应用程序时出现错误 ModuleNotFoundErro
  • 剧作家未收到事件

    我对编剧有意见page waitForEvent https playwright dev docs api class page page wait for event 我希望我的测试在单击链接后导航到不同页面后等待我们的应用程序触发的特