Excelente. Bien, entonces Melad tiene nuestra siguiente pregunta y también noticias para ti. Empezaron a usar Cypress hace tres meses. Sin embargo, tienen un problema cuando lo utilizo que es que no puedo manejar la carga diferida. La única opción que conozco es el comando de espera pero la carga diferida no carga los componentes en el tiempo exacto. ¿Tienes alguna recomendación para manejar la carga diferida?
Sí, esto es algo que estamos viendo cada vez más con los modernos frameworks de front-end que utilizan o aprovechan la carga diferida o, por ejemplo, a veces necesitas desplazarte hasta la vista para activar la carga. De hecho, creo que quizás Gleb recientemente hizo una entrada de blog o una charla como un video sobre esto para esencialmente con resultados que se cargaban dinámicamente en la página. Y así, como con los resultados de búsqueda, te desplazarías hacia abajo, esperarías a que se cargara, te desplazarías hacia abajo, esperarías a que se renderizara. Y también hay un par de otras cosas que puedes hacer. Si estás utilizando un almacén de front-end como Vuex o si estás utilizando Redux, puedes entrar en tu almacén de front-end y esencialmente forzar las cosas a activar para cargar algo. Así que si sabes qué acción se envía para renderizar ese componente, puedes seguir adelante y enviar eso manualmente en Cypress para forzar que eso suceda. Y luego siempre va a haber esencialmente asegurando que el DOM está listo. Y así, la carga diferida puede ser difícil pero si entiendes qué activará la carga de ese componente, entonces puedes trabajar realmente con eso para asegurarte de que va a aparecer en la pantalla, ya sea que sea un desplazamiento, ya sea que sea un clic. A veces he visto a personas donde les gusta, escribirán en el botón, pero luego en lo que hacen clic no actúa, no es realmente el elemento que carga, que dispara el evento. Así que no están simplemente, simplemente no están agarrando el elemento correcto. Así que mucho de eso es realmente entender tu aplicación y qué está causando que esos componentes se carguen.
No podría estar más de acuerdo. Como entender el estado, una vez que conoces el estado y también a veces ¿estás tratando de probar la carga diferida? Como, ¿puedes apagarlo? Porque a veces estas cosas están ahí para ser agradables, ya sabes, un poco de destello, un poco de estilo, pero si no estás tratando de probar el destello y el estilo, apágalo, haz tu vida fácil, facilita la prueba de estas aplicaciones. Ese es un punto realmente bueno, Richard, seguro. Es como, ¿qué estás tratando de probar, verdad? Y si no necesita ser probado, entonces tal vez simplemente no habilites eso en tu entorno de prueba. Así que eso es, eso es un buen punto. Exactamente. Pregunta de Amanda Law. Espero que sea una relativamente simple, creo, pero ¿puedes simular solicitudes y respuestas HTTPS? Sí, absolutamente. Sí, eso es en realidad, creo que una de las opciones en esa coincidencia dinámica que mencioné es para HTTPS solo para coincidir con las solicitudes seguras, creo. Jobs nos está preguntando, ¿es posible almacenar un método de interceptación general y llamarlo a lo largo de diferentes pruebas con una ligera modificación a las variables? Sí, recomendaría algo como un comando personalizado para eso. Así que esencialmente, en Cypress, puedes declarar comandos personalizados. Así que recomendaría pasar esencialmente, como si quisieras un cierto parámetro de consulta y lo llamaras como sci.intercept con consulta y luego puedes pasar cualesquiera que sean los parámetros de consulta y luego tener el sci.intercept declarado allí. Pero sí, absolutamente. Excelente.
Comments