No se puede hacer clic en el botón dentro de iframe usando cypress
HTML
<button class="MuiButtonBase-root MuiCardActionArea-root jss9" tabindex="0" type="button"> <div class="MuiPaper-root MuiCard-root jss11 MuiPaper-elevation1 MuiPaper-rounded"> <div class="MuiBox-root jss25 jss12"> <div class="MuiCardContent-root"> <div class="MuiBox-root jss26 jss13"><i class="icon-ehr"></i></div> <div class="MuiBox-root jss27"> <h5 class="MuiTypography-root jss14 MuiTypography-h5">SOME HEADER</h5> </div> <p class="MuiTypography-root MuiTypography-body2">SOME TEXT</p> </div> </div> </div> <span class="MuiCardActionArea-focusHighlight jss10"></span><span class="MuiTouchRipple-root"></span> </button>código:
it('Open Product Dashboard and EHR App ', function () { cy.get('#dashboardMfcApp').then(($iframe) => { const $doc = $iframe.contents() cy.wrap($doc.find('button')) .get('.MuiButtonBase-root') .children() .within(() => { cy.find('.MuiButtonBase-root') .get('.MuiTypography-root') .contains('SOME HEADER') .click() }) }) })Error:
Se agotó el tiempo de reintento después de 4000 ms: se esperaba encontrar el elemento: MuiTypography-root, pero nunca se encontró.
Intente usar xpath para el botón. Tuve el mismo problema y funcionó cuando usé xpath en cypress.
Problema n.º 2664: un problema cerrado en el repositorio GitHub de Cypress donde otros usuarios también se encuentran con problemas similares. Este comentario de un usuario llamado aldocd4 afirma que agregar la siguiente configuración a nuestro cypress.json resuelve el problema.
{ "modificar Código Obstructivo": falso }