Selector 的 Testcafe .parent() 在超时前偶尔失败

问题描述

我有一个 testcafe 测试,用于检查 Selector 的父级是否存在,并且每隔一段时间就会以某种方式失败。相关代码如下:

logWithTimestamp("Starts...");  // Prints "[2020-12-23T12:02:04.476Z] Starts..."
let state = await Selector('#indberetningsflow-knap-trin-stamdata',{timeout: 30000}).parent().exists;
logWithTimestamp(`State: ${state}`);  // Prints "[2020-12-23T12:02:04.618Z] State: false"
await t.expect(state).ok()  // Sometimes fails

如您所见,它在不到 200 毫秒后失败,即使超时明确设置为 30000。现在,我有一个想法,当找到选择器时它可能会失败,但父级尚未加载。如果这是真的,为什么 testcafe 不等待父母出现,我该怎么办?

编辑

我进行了另一个实验,要么是 testcafe 有问题,要么是我没有理解一些基本的东西,但是这怎么会在 30 毫秒后就失败了?

logMedTidsstempel("Starts...");  // Prints "[2020-12-23T12:42:15.041Z] Starts..."
let state = await Selector('#indberetningsflow-knap-trin-stamdata',{timeout: 30000}).exists;
logMedTidsstempel("Found child."); // Prints "[2020-12-23T12:42:15.072Z] Found child."
await t.expect(state).ok();  // <- fails :(

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)