Ошибка ввода текста в поле username на форме регистрации

Рейтинг: 0Ответов: 2Опубликовано: 24.01.2023

Коллеги, пишу на Cypress функциональный тест формы регистрации https://demo.realworld.io/#/register

cy.visit('https://demo.realworld.io/#/register');
cy.get('input').type('test');

Ожидаю, что Cypress должен ввести текст test в поле username

Однако, в ходе выполнения получаю ошибку 😞 в Cypress:

cy.type() can only be called on a single element. Your subject contained 2 elements!

Подскажите, в чем причина? Заранее благодарю 🙏

Ответы

▲ 0Принят

Проблема в том, что для указанного селектора input Cypress находит 2 поля ввода. Cypress не умеет вводить текст в несколько полей ввода одновременно, как собственно и обычный пользователь.

Ваш код нужно исправить так:

cy.visit('https://demo.realworld.io/#/register');
cy.get('.auth-page form input[ng-model$=username]').type('test');
▲ 0

You should specify your search by cy.get(). For this, you should use 'input[placeholder="Username"]' instead 'input'.

cy.visit('https://demo.realworld.io/#/register');
cy.get('input[placeholder="Username"]').type('test');

Try this solution.