Я пытаюсь выбрать значение в раскрывающемся списке с помощью Cypress. Я попробовал несколько способов сделать это, но ни один из них не сработал. Он всегда выбирает уже выбранное значение.
В документации Cypress я нашел это:
cy.get('select').select('apples').should('have.value', '456')
Когда я применяю это к своему коду... :
cy.get('select').select('FR').should('have.value', 'FR')
... Я получаю следующую ошибку:
CypressError: истекло время повторной попытки: cy.select() не удалось, поскольку этот элемент не виден:
...
Этот элемент '' не виден, поскольку его содержимое обрезается одним из его родительских элементов, который имеет свойство CSS переполнения: 'скрытый', 'прокрутка' или «авто»
Исправьте эту проблему или используйте {force: true}, чтобы отключить проверку ошибок.
https://on.cypress.io/element-cannot-be-interacted-with
Когда я использую Force:true, ошибка пропускается , но это все равно не работает.
cy.get('select').select('FR',{force:true}).should('have.value', 'FR')
Я также пробовал, не используя выбор, а используя щелчок. При этом также будет выбран только выбранный, а не третий выбранный.
cy.get('option').eq(2).click({force: true});
Использование .type({downarrow}) также не работает, поскольку это не поле ввода текста.
Итак У меня сейчас совсем нет идей.
Я хочу протестировать несколько раскрывающихся списков, это один из них:
[options]="sectors"
[style]="{'width':'100%'}">
РЕДАКТИРОВАТЬ:
Я также попробовал следующее, здесь я получаю правильное значение (Франция), но он не могу нажать на него.
cy.get('p-dropdown[formControlName="provenanceCountry"]').click();
cy.get('p-dropdown[formControlName="provenanceCountry"]').get('select').then(option => {
cy.wrap(option).get('p-dropdown[formControlName="provenanceCountry"]').contains('FRANCE').click();
});
Ошибка:
CypressError: истекло время повторной попытки: cy.click() не удалось, поскольку этот
элемент не виден:
FRANCE
Этот элемент «» не виден
потому что его эффективная ширина и высота составляют: «0 x 0» пикселей.
Исправьте эту проблему или используйте {force: true}, чтобы отключить ошибку. проверка.
https://on.cypress.io/element-cannot-be-interacted-with
Когда я использую {force : true} при моем щелчке ошибка просто не отображается.
ТОЧНЫЙ HTML:
Geïmporteerd uit BELGIUMFRANCE
Подробнее здесь: https://stackoverflow.com/questions/539 ... ng-cypress