Мои попытки воспроизвести это поведение оказались безуспешными. Механизм интеллектуального ожидания для утверждений правильно ожидает, пока фактическое значение утверждения не совпадет с ожидаемым значением:
Вот мой пример тестового примера .
61609192.html
<!DOCTYPE html>
<head>
</head>
<body>
<p id="icon">Status Icon</p>
<button id="button" type="button">Add to cart</button>
</body>
<script>
setTimeout(() => {
document.getElementById("icon").remove();
}, 8000);
</script>
</html>
61609192.js
import { Selector} from 'testcafe';
fixture('fixture')
.page('./61609192.html');
test('test', async t => {
const icon = Selector("#icon");
const button = Selector("button");
await t.expect(icon.exists).notOk('Icon does not exist', { timeout: 120000 })
await t.click(button)
});
Обновите мой тестовый пример, чтобы проиллюстрировать проблему, или предоставьте свой собственный тестовый пример, где мы можем увидеть проблема в действии.