Vengo de un entorno de Selenium/Python y ahora estoy aprendiendo Cypress.
En pocas palabras, tenemos una herramienta de regresión visual que tiene que esperar a que todo en la página se cargue por completo antes de tomar una captura de pantalla.
En mi marco anterior, pude usar el siguiente código para esperar a que se cargara por completo una página que tenía solicitudes de jQuery y funcionó.
def wait_for_page_to_load(self): """ Waits for page to fully load """ try: wait = WebDriverWait(self.driver, 10, 0.25) wait.until( lambda driver: driver.execute_script( "return (window.jQuery != null) && (jQuery.active === 0);" ) ) self.log.info("Page has finished loading") except: e = sys.exc_info()[0] self.log.error( "### Exception occurred whilst waiting for page to load: %s", e )Ahora que estoy usando Cypress, no sé cómo ejecutar básicamente la línea de retorno. He buscado en google pero hasta ahora nada bueno.
He jugado con lo siguiente, pero no hay alegría.
pageLoaded() { Cypress.$(document).ajaxStop(function () { }) }Puede llamar al objeto de ventana usando el comando cypress cy.window() .
cy.window().then(win => { // do something with win }); Pero creo que sería mejor usar los comandos cy.intercept() con cy.wait
// before the start of your test: cy.intercept('GET', '/path/to/api/calls/1').as('apiCall1'); // During your test: cy.visit('yourUrl'); cy.wait('@apiCall1');