Как ждать исчезновения элемента в TestCafe? - PullRequest
0 голосов
/ 03 марта 2019

Когда мне нужно дождаться, пока элемент станет видимым, я могу просто вызвать селектор как функцию, подобную этой:

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

Но как мне ждать, пока элемент исчезнет?

1 Ответ

0 голосов
/ 04 марта 2019

Чтобы дождаться исчезновения элемента, вы можете использовать наш встроенный механизм ожидания для утверждений.Пожалуйста, смотрите документацию для получения дополнительной информации о том, как это работает.

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:

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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...