Инструменты: WebdriverIO, Node.js.

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

Во-первых, давайте реализуем новый метод класса OrderPage (здесь мы используем очень простую модель страницы-объекта). Этот класс также включает другой метод для открытия локаторов страниц и элементов в качестве геттеров. браузер — это глобальный объект WebdriverIO, который позволяет вам взаимодействовать с предварительно инициализированным веб-браузером по вашему выбору. Я использовал «wdio-chromedriver-service» для запуска Google Chrome, но вы можете использовать другой сервис.

Метод waitForMarketValuesToLoad ожидает, пока необходимые поля загрузят реальные значения, которые не являются тире (-). Как вы, наверное, догадались, тире загружаются сразу после открытия страницы, а затем медленно начинают появляться реальные значения, загрузка значений в этих 4 полях может занять несколько секунд. Вы также можете добавить регулярные выражения для дополнительной проверки содержимого полей или сделать это позже в своей точке верификации с утверждениями.

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