Selenium с Node.js: не может остановить выполнение цикла - PullRequest
0 голосов
/ 06 декабря 2018

Я написал несколько тестов с Selenium и Node.js, но когда я запускаю этот тест, он никогда не заканчивается.

Мой код:

driver.wait(function () {
    return driver.executeScript('return document.readyState').then(function (readyState) {
        if (readyState === 'complete') {
            doTest();
            // HERE I WANT TO EXIT
        };
    });
});

Метод doTest() вызывается бесконечно много раз.

И где теперь вы можете увидеть "HERE I WANT TO EXIT" Я пытался остановить цикл с помощью:

return true;
return false;
resolve();
driver.close();
driver.quit();

Но ничего не помогло, любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 07 декабря 2018

Непонятно, почему return true; не работает.Возможная проблема заключается в том, что doTest() завершается с некоторым исключением, которое передается ожиданием.Вы проверяли, что ваш код попал в строку «ЗДЕСЬ, ЧТО Я ХОЧУ ВЫЙТИ»?

Я бы предложил добавить console.log после doTest(), чтобы убедиться, что doTest () завершен успешно

или заставьте doTest () вернуть true, если все в порядке, и false, если было какое-либо исключение, и сделать это как

    if (readyState === 'complete') {
        return doTest();
    };
...