Soy nuevo en Cypress y estoy tratando de acceder al atributo href para cada etiqueta div de un grupo usando invocar() pero da error. ¿Alguien puede sugerir cómo lo haces?
cy.get('.bms-scoreboard__game-tile--mls').each(($el,index,$list) => { $el.get('a') .invoke('attr','href') .then(href => { cy.request(href) .its('status') .should('eq',200) }) })No creo que .get() sea apropiado; solo funciona desde <body> no desde cada '.bms-scoreboard__game-tile--mls' .
Prueba .find() en su lugar
Con operadores jQuery
cy.get('.bms-scoreboard__game-tile--mls') .each(($el,index,$list) => { const href = $el.find('a').attr('href') cy.request(href) .its('status') .should('eq', 200) }) })o con operadores Cypress
cy.get('.bms-scoreboard__game-tile--mls') .each(($el,index,$list) => { cy.wrap($el).find('a') .invoke('attr','href') .then(href => { cy.request(href) .its('status') .should('eq',200) }) }) })o mueva "buscar" al primer selector
cy.get('.bms-scoreboard__game-tile--mls a') .each($a => { const href = $a.attr('href') cy.request(href) .its('status') .should('eq', 200) }) })$el es un elemento JQuery, y no en sí mismo en la cadena Cypress. Deberá usar cy.wrap() para usarlo en una cadena Cypress.
cy.get('.bms-scoreboard__game-tile--mls').each(($el,index,$list) => { cy.wrap($el) .get('a') .invoke('attr','href') .then(href => { cy.request(href) .its('status') .should('eq',200) }) })