如何在 TestCafe 中等待元素消失?

2023-12-19

当我需要等待元素变得可见时,我可以简单地将选择器作为函数调用,如下所示:

await element.with({ visibilityCheck: true })();

但我怎样才能等待一个元素消失呢?


要等待元素消失,您可以使用我们内置的断言等待机制。请参见文档 https://devexpress.github.io/testcafe/documentation/test-api/assertions/#smart-assertion-query-mechanism有关其工作原理的更多信息。

import { Selector } from 'testcafe';

fixture `fixture`
    .page `http://localhost/testcafe/`;

test('test 2', async t => {
    //step 1

    //wait for the element to disappear (assertion with timeout)
    await t.expect(Selector('element').exists).notOk({ timeout: 5000 });

    //next steps
});

或者您可以使用ClientFunction https://devexpress.github.io/testcafe/documentation/test-api/obtaining-data-from-the-client/:

import { ClientFunction } from 'testcafe';

fixture `fixture`
    .page `http://localhost/testcafe/`;

const elementVisibilityWatcher = ClientFunction(() => {
    return new Promise(resolve => {
        var interval = setInterval(() => {
            if (document.querySelector('element'))
                return;

            clearInterval(interval);
            resolve();
        }, 100);
    });
});

test('test 1', async t => {
    //step 1

    //wait for the element to disappear
    await elementVisibilityWatcher();

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

如何在 TestCafe 中等待元素消失? 的相关文章

随机推荐

  • 加速 Java

    这确实是两个问题 但它们非常相似 为了简单起见 我想我应该把它们放在一起 Firstly 给定一个已建立的 Java 项目 除了简单的代码优化之外 还有哪些不错的方法可以加速它 Secondly 用Java从头开始编写程序时 有哪些好的方法
  • 使用 go 结构进行 ASN.1 解组会出现标签不匹配错误

    我正在尝试对以下定义执行 ASN 1 marshal unmarshal 操作 ACEI SEQUENCE message MessageFields neRegNumber OCTET STRING OPTIONAL gpsInfo Gp
  • Python 相当于 find -exec

    我正在尝试在 Popen 中运行此 BASH 命令 find tmp mount type f name rpmsave exec rm f 但每次我得到 查找 stderr 中缺少 exec n 的参数 与此等效的 python 是什么
  • 结构对齐和类型重新解释

    假设我有两种类型 A 和 B 然后我做这个类型 struct Pair A a B b 现在我有一个这样的功能 void function Pair pair 让我们假设function只会使用a该对的一部分 那么这样使用和调用函数是不是未
  • 压缩列表中具有奇数和偶数索引的元素

    我想将偶数和奇数元素压缩到列表中以生成对列表 如下所示 A B C D E F gt A B C D E F 以优雅的功能方式做到这一点的最简洁的表达方式是什么 在 2 8 中 您可能会使用以下方法 scala gt val a ABCDE
  • 无法配置数据源:未指定“url”属性,无法配置嵌入数据源。春天

    我已经检查了所有类似的问题 每个答案都说我需要指定我已经这样做的 driverClassName 这是我的 application yml spring application name cibus backend datasource d
  • Tensorflow:variable_scope 值错误

    这是我的代码如下 Tensorflow LSTM classification of 16x30 images from future import print function import tensorflow as tf from t
  • Microsoft 不推荐的实体框架自我跟踪实体

    在查看微软的网站时 我发现他们不再推荐使用自我跟踪实体 下面的每个链接都是 MS 资源 其中提到不要使用 STE 显示实体框架团队可用的模板 EF 设计器代码生成模板 http msdn microsoft com en US data J
  • 无法在 Spring Web 服务中反序列化 START_ARRAY 令牌之外的对象实例

    我目前在 Android 上连接到我的网络服务时遇到问题 我使用 jackson core databind annotation 2 2 4 和 Spring RESTWebService 如果我从浏览器访问 URL 我可以看到 JSON
  • 为什么(begin)在Scheme中有效?

    我在 Racket 和 Chez Scheme 中进行了测试 发现 begin 是可以接受的 同时 define a begin 不是 例如我得到的球拍 gt begin gt define a begin stdin 56 10 begi
  • 使用具有自定义连接对象的 EF 存储库?

    我被困在 EF 6 中 而且文档很少 现在一天都没有解决这个问题 我尝试在我们拥有的数据库存储库上使用 Code First 由于复杂的初始化我must使用我自己的工厂方法来初始化上下文子类 我must放入我自己的 sql 连接 或者创建我
  • 冒充标准用户

    我正在尝试创建一个正在运行的进程 该进程被提升为使用标准用户令牌重新启动资源管理器 我所做的是首先以管理员身份运行主进程 然后拍摄运行的快照 if Process32First hSnapshot pe32 do if wcsicmp pe
  • 控制 r Shiny 中传单中 popupImage 的大小

    我很难控制图像的大小popupImage 地图视图包 下面是一个可重现的闪亮示例 其中我有一个带有弹出窗口的标记 当我设置width 300 弹出窗口显示正确 但我想显示更大的图像 宽度 300 https i stack imgur co
  • Catalyst“SwiftUI.AccessibilityNode”不是已知的可序列化元素

    我使用 Xcode 11 1 创建了一个新的 iOS 单页应用程序 包括 SwiftUI 并启用了 Mac Catalyst 在我的 Mac 当然是 macOS 10 15 上运行新项目后 在窗口上点击一次后出现以下错误 2019 10 1
  • ASP-Net MVC5 Crystal Reports:系统找不到指定的路径

    有什么建议么 Code ReportDocument rpt new ReportDocument rpt Load Server MapPath CrystalReports P Order rpt TableLogOnInfo logo
  • 有没有关于 Spanned 和 Spannable 文本的示例

    我正在努力使用 EditText 和 Spannable 文本对象 这些天 我已经阅读了 API 文档大约十次 即使我不确定我是否理解正确 所以我正在寻找一种示例来展示如何使用 EditText 和 Spannable 由于您没有指定您无法
  • 如何修改Imagenet Caffe模型?

    我想修改 ImageNet caffe 模型 如下所述 由于时间网络的输入通道数与此不同 空间网络 20 vs 3 我们对 ImageNet 模型滤波器进行平均 先跨过通道一层 然后复制平均结果 20 时间网络的初始化 我的问题是如何才能达
  • 在 Google Chrome 中使用 MediaStream API 更改 FocusMode 不起作用

    在 Google Chrome 浏览器中 我能够使用以下方式实时获取连接的 USB 摄像头的实时信息 获取用户媒体 API 我有一个滑块可以更改亮度值 效果很好 我还希望 focusMode 从连续的 to manual 相机始终以连续对焦
  • 仅将 jetty url-pattern 与根目录匹配

    我只想用密码保护 Jetty Web 应用程序的上下文路径上的根目录 我的上下文路径是 MyApp 所以我需要密码才能访问 http localhost 8080 MyApp 但不适用于 http localhost 8080 MyApp
  • 如何在 TestCafe 中等待元素消失?

    当我需要等待元素变得可见时 我可以简单地将选择器作为函数调用 如下所示 await element with visibilityCheck true 但我怎样才能等待一个元素消失呢 要等待元素消失 您可以使用我们内置的断言等待机制 请参见