Webdriverio 5: как получить последние объекты DOM - PullRequest
0 голосов
/ 24 марта 2020

В настоящее время я работаю над приложением CMS на основе REact. Это форма на основе нескольких каруселей. Я пытаюсь найти элемент, и он не может найти в реализации webdriverio. Но тот же xpath работает отлично, когда я попробовал его вручную. Я считаю, что webdirverio по-прежнему сохраняет старые объекты DOM с начальной страницы и не получает последние во время выполнения. Я не могу обновить страницу sh, так как пользователь вернется к шагу 1. Не могли бы вы дать мне знать, как получить обновленные объекты DOM в webdriverio. Элемент

("//div[@id="question"]//label[.="preferred option"] ") по-прежнему не отображается после 3000 мс

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Вы можете попытаться выполнить точный сценарий вручную, который есть в автоматизации. Если вы не получаете точный ожидаемый DOM, тогда это будет проблема выполнения шага. Там нет понятия, как последний DOM

0 голосов
/ 24 марта 2020

Попробуйте использовать waitForExist. Подождите, пока ваш локатор существует в DOM.

https://webdriver.io/docs/api/element/waitForExist.html

Let webelm = await browser.$('your locator');
webelm.waitForExist();

Позже вы можете продолжить тестирование элемента.

Например: функция щелчка должна быть похожа на

async click(element,time) {
        const elem = await browser.$(element);
        await elem.waitForExist(time);
        await elem.isDisplayed(time);
        await elem.click();
    }
...