Выберите значение в раскрывающемся списке p из PrimeNG, используя Cypress.Html

Программисты Html
Ответить
Anonymous
 Выберите значение в раскрывающемся списке p из PrimeNG, используя Cypress.

Сообщение Anonymous »

Я пытаюсь выбрать значение в раскрывающемся списке с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»