ошибка кипариса - ошибка cy.select (), потому что этот элемент в настоящее время отключен - PullRequest
1 голос
/ 29 октября 2019

Я использую платформу тестирования Cypress.io и браузер Chrome / последнюю версию.

У меня 3 раскрывающихся списка. Первый включен по умолчанию, поэтому я могу выбрать его без проблем;второй и третий отключены. При выборе вручную и выборе первого раскрывающегося списка включается второй раскрывающийся список, затем при выборе второго раскрывающегося списка включается третий. Я могу обратиться к каждому в отдельности, используя cy.get, используя их имя или их индекс 0,1, или 2;поэтому я просто буду использовать индекс каждого в этом вопросе.

Теперь, когда я программно выберу первый раскрывающийся список с помощью Cypress:

cy.get('select').eq(0).select('Nursing', {force: true})

... 2-й выпадающий список отключен. Я добавил cy.wait(2000) [2 секунды] после выбора 1-го выпадающего списка, достаточно времени для выбора, а затем я пытаюсь выбрать 2-й выпадающий список следующим образом: cy.get('select').eq(1).select('US - Alaska', {force: true}), и я получаю эту ошибку:

CypressError: Timed out retrying: cy.select() failed because this element is currently disabled: <select id="course-finder-location-select" name="course_finder_location" data-select2-id="course-finder-location-select" disabled="" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true"></select>, что является вторым выбором.

Как видите, я использовал его индекс через eq(1), и он правильно определяет его как 2-й выбор.

Я пытаюсь выяснить, как включить 2-й выпадающий список с помощью Cypress-тестированиякоманды. Я даже включил jQuery CDN, который не вызывает ошибку;но когда я пытаюсь добавить команду jQuery, которая работает в консоли [она включает 2-й выбор]:

jQuery("#course-finder-location-select").prop( "disabled", false ),

, мой тест Cypress просто завершается без ошибок. Кажется, ему не нравятся команды jQuery или даже JavaScript - я тоже попробовал это:

document.getElementById("course-finder-location-select").disabled = false

[хотя я могу заставить это сделать window.alert("!")].

Есть идеи, как получить второй выбор, чтобы включить с помощью Cypress? Я не могу изменить файл HTML вообще.

Заранее спасибо за уделенное время! Если у вас есть какие-либо предложения, как я могу перефразировать это, дайте мне знать. У меня еще нет песочницы для Cypress.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...