document.querySelectorAll не работает в кипарис с chrome 80 - PullRequest
0 голосов
/ 27 февраля 2020

При выполнении document.querySelectorAll в chrome DOM он возвращает значения нормально, однако при выполнении в качестве функции в кипарисе document.querySelectorAll всегда возвращает меня пустым.

const itensText = []
  const url = area => cy.url().should('contain', area)
  const arrayItens = () => {
    const itensCount = document.querySelectorAll("*[data-cy='areas-item']").length
    console.log(itensCount, 'contador');
    for(var i=0; i<itensCount; i++) {
      itensText.push(document.querySelectorAll("*[data-cy='areas-item']")[i].innerText);
    };
  }
<ul data-cy="areas-holder" class="styled__AreasHolder-kUDyGB leBHiV"><li data-cy="areas-item" class="styled__AreasItem-ejSxag jdRdwx"><a data-cy="Oncogenética" class="styled__AreasItemLink-yXJfI jaazQV" href="/exames?area=Oncogenética"><svg class="styled__AreasItemIcon-iWyosv kXRKoO"><use xlink:href="#gene-mutation"></use></svg>Oncogenética</a></li><li data-cy="areas-item" class="styled__AreasItem-ejSxag jdRdwx"><a data-cy="Doenças Raras" class="styled__AreasItemLink-yXJfI jaazQV" href="/exames?area=Doenças Raras"><svg class="styled__AreasItemIcon-iWyosv kXRKoO"><use xlink:href="#petri-dish"></use></svg>Doenças Raras</a></li><li data-cy="areas-item" class="styled__AreasItem-ejSxag jdRdwx"><a data-cy="Neurogenética" class="styled__AreasItemLink-yXJfI jaazQV" href="/exames?area=Neurogenética"><svg class="styled__AreasItemIcon-iWyosv kXRKoO"><use xlink:href="#genome"></use></svg>Neurogenética</a></li></ul>

Chrome DOM

enter image description here

Crypress с Chrome 80 DOM

enter image description here

Мне нужно создать массив со значениями каждого элемента, чтобы использовать его в будущем сценарии теста

1 Ответ

1 голос
/ 27 февраля 2020

Чтобы получить доступ к документу вашей тестовой страницы, вы должны использовать команду cy.document (), чтобы получить ссылку. Документ, к которому вы обращаетесь как к глобальному, принадлежит модулю Cypress, но тестовая страница находится внутри iFrame с другой ссылкой на документ.

cy.document().then((doc) => {
  const itensCount = doc.querySelectorAll("*[data-cy='areas-item']").length
  ...
})
...