Почему Testcafe ожидает появления элемента elementl, когда элемент уже существует? - PullRequest
0 голосов
/ 10 октября 2018

Я использую TestCafe 0.22.0 и в beforeEach у меня есть этот код:

const checkedBoxes = Selector('input[type="checkbox"]')

for (let i = 0; i < await checkedBoxes.count; i++) {
    t.click(Selector(`#product-${i} input`))
}

Когда я запускаю в Chrome, страница почти сразу рендерит все, но testcafe все еще ждетоколо 5 секунд, прежде чем он нажимает любой флажок.Каждый раз, когда он щелкает по флажку, он ждет еще 5 секунд, прежде чем щелкнет по следующему флажку.

Почему это происходит?Для testcafe должна быть возможность проверить все это сразу.

Это угловое 6 приложение.

1 Ответ

0 голосов
/ 10 октября 2018

Мне не удалось воспроизвести проблему с вашим тестовым кодом и моей страницей примера:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<div id="product-0">
    <input type="checkbox"/>
</div>
<div id="product-1">
    <input type="checkbox"/>
</div>
<div id="product-2">
    <input type="checkbox"/>
</div>
<div id="product-3">
    <input type="checkbox"/>
</div>
<div id="product-4">
    <input type="checkbox"/>
</div>

</body>
</html>

тестовый код:

import { Selector } from 'testcafe';

fixture `check`
    .page `../pages/index.html`;


test('basic', async t => {
    const checkedBoxes = Selector('input[type="checkbox"]');

    for (let i = 0; i < await checkedBoxes.count; i++) {
        await t.click(Selector(`#product-${i} input`));
    }
});

Я не вижу никаких задержек в действиях при нажатии,Кроме того, я обнаружил, что вы пропустили ключевое слово await до действия t.click.Если у вас все еще есть проблема, не могли бы вы предоставить нам минимальный пример, который демонстрирует проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...