Demo de aplicaciones web estáticas: CI/CD, implementación y canalización de pruebas en Azure

Rate this content
Bookmark

Una demostración del mundo real y un espacio de juego para el servicio de aplicaciones web estáticas de Azure.

Juarez Barbosa Junior
Juarez Barbosa Junior
50 min
25 Nov, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta masterclass proporciona información sobre la ingeniería en Microsoft, destacando la cultura de curiosidad, aprendizaje y enfoque en el cliente de la empresa. Se discute el uso de hackathons para generar ideas y superar desafíos en la construcción de productos a gran escala. La masterclass también cubre recursos técnicos y tutoriales sobre Azure Static Web Apps y el marco de pruebas Playwright. Se enfatiza la flexibilidad y las potentes características de Playwright para pruebas y reutilización de código. La sesión concluye con información sobre posiciones abiertas en Microsoft.

Available in English

1. Introducción a la Ingeniería en Microsoft

Short description:

Soy un gerente de ingeniería en Microsoft Ireland y compartiré mi punto de vista y experiencia personal sobre la ingeniería en Microsoft. Microsoft tiene una larga historia de construcción de productos adoptados en todo el mundo. Trabajamos en productos que marcan la diferencia para miles de organizaciones y personas. Nuestra cultura fomenta la curiosidad, el aprendizaje y asumir riesgos. Priorizamos comprender las necesidades de nuestros clientes y abrazamos la diversidad y la inclusión. Creemos que todos deberían ser líderes y contribuir a nuestra cultura y desarrollo de productos. Nuestros eventos anuales de hackathon promueven una mentalidad de crecimiento.

Hola a todos. Permítanme presentarme. Mi nombre es Vanya Lebedev y soy un gerente de ingeniería en el equipo de gestión de la cadena de suministro de Dynamics 365 en Microsoft Ireland. He estado trabajando en Microsoft durante más de 12 años, primero como ingeniero de software y luego como gerente, y estoy muy emocionado por la oportunidad de unirme al summit de TESTJS hoy y hablar sobre la ingeniería en Microsoft. Así que compartiré mi punto de vista personal, perspectiva y experiencia sobre el tema. Hablaré sobre los desafíos de ingeniería que mi equipo está resolviendo actualmente y sobre las oportunidades de ingeniería en el equipo. Espero que les parezca interesante. Así que empecemos.

Todos conocen a Microsoft. Tenemos una larga historia de construcción de productos que se adoptaron en todo el mundo. Y esta es probablemente la razón principal por la que me uní a la empresa en 2009. Fue una oportunidad fantástica para aprender cómo es trabajar en una de las empresas más famosas del mundo. Así que me uní y nunca me arrepentí. Los desafíos de ingeniería han sido emocionantes hasta ahora y me lo he pasado muy bien resolviéndolos.

Una de las mejores cosas para mí personalmente es que he estado trabajando en productos que realmente son necesarios y que marcan la diferencia para miles de organizaciones en todo el mundo y para cientos de miles de personas en estas organizaciones. Nuestro CEO, Satchin Adella, ha expresado esta ambición en la declaración de misión que ven en la pantalla en este momento. Queremos capacitar a cada persona y a cada organización en el planeta para lograr más. Esta declaración me emociona mucho personalmente, específicamente por la ambición, por el alcance de esta visión. Piénsenlo. Es cada persona en el planeta. Este es el alcance del impacto que estamos tratando de lograr. Es un esfuerzo verdaderamente global.

¿Y saben qué? Tener un gran objetivo es genial, pero otra cosa que realmente me inspira, me motiva mucho es que no solo tenemos una visión de hacia dónde vamos, sino que también tenemos una comprensión clara de cómo llegaremos allí. Un hombre inteligente dijo que la cultura es la estrategia para el desayuno. Y es muy cierto. Creo que es la gente que me rodea y la cultura que todos compartimos lo que es y será la piedra angular del éxito de Microsoft.

Todos en la empresa, todos a mi alrededor, son alentados a ser siempre curiosos, ansiosos por aprender, a asumir riesgos. Y otra cosa que es realmente genial es que todos también son alentados a no tener miedo de cometer errores en el camino. Porque si no cometemos errores, si no asumimos riesgos, no marcaremos la diferencia. Sin embargo, si cometemos errores, aprenderemos, mejoraremos y crearemos un software revolucionario. Esta es la cultura. Estos son los mensajes que realmente resuenan conmigo.

Y como parte de esta mentalidad de crecimiento, también estamos tratando de obsesionarnos con los clientes, de salir de nuestro camino para comprender cuáles son sus necesidades reales. No asumiremos que lo hemos aprendido todo. Sabemos todo, pero seguiremos aprendiendo y aprendiendo y aprendiendo sobre ellos. En última instancia, creando mejores productos y marcando la diferencia. Lo mismo ocurre con la diversidad y la inclusión. Somos un equipo que es tan global que no pueden imaginarlo. Personas de todo el mundo con diferentes antecedentes, géneros, etc. son muy bienvenidas en el equipo, y cada persona aporta una perspectiva única. Ha habido tantos ejemplos en mi career donde sus opiniones e ideas nos ayudaron a producir un mejor software y productos, y en última instancia, a tener éxito. Esto es algo que creo que es muy único y muy inspirador en mi trabajo. Por eso sigo adelante. Otra cosa que realmente destaca para mí sobre el trabajo en Microsoft es que una cultura como esta, la cultura que acabo de describir, no surge por sí sola, no emerge por sí sola. Requiere una visión sólida y un liderazgo sólido y un esfuerzo colectivo y para acelerar nuestra cultura hemos introducido esta visión de cuáles son los grandes líderes en la organización y creemos que todos, cada ingeniero, cada persona en la organización debería ser un líder, de lo contrario no podremos progresar tan rápido como queremos, no podremos dar forma a nuestra cultura, no podremos construir los productos que necesitamos, y es realmente genial cuando las personas comienzan a adoptar esta mentalidad, esto es algo que realmente nos ayuda a hacer las cosas, las personas no se sientan en un rincón y se quejan, todos toman su destino en sus manos y marcan la diferencia, hacen un cambio, esto realmente ayuda a impulsar una gran y eficiente organización de ingeniería, así que esto es algo que realmente me gusta.

Fueron muchas palabras, pero ¿qué hay de algunos ejemplos concretos, creo que un gran ejemplo de cómo Microsoft promueve esta mentalidad de crecimiento son los eventos anuales de hackathon. Durante tres días, todos en la organización, todos los ingenieros en la organización simplemente entran en un modo completamente oscuro con pizzas y todo para hackear sus ideas y producir aplicaciones de código, mejoras en las que han estado pensando durante mucho tiempo. Echemos un vistazo rápido a la grabación de lo que se puede lograr. Sí.

2. Hackathons and Engineering Challenges

Short description:

Los hackathones han sido una experiencia increíble para mí, generando grandes ideas y fomentando una fuerte dinámica de equipo. Nuestro equipo se enfoca en aplicaciones de gestión de la cadena de suministro para empresas, abarcando diversas áreas como ventas, adquisiciones, fabricación y más. Construir un producto a gran escala como este requiere un equipo de miles de ingenieros. Nos enfrentamos a desafíos en rendimiento, escalabilidad, integración y experiencia del usuario. Afortunadamente, aprovechamos la Nube de Microsoft y tecnología de vanguardia como Power Apps y la arquitectura de microservicios para superar estos desafíos.

Esto es lo que se puede lograr con los hackathones. Personalmente, he estado participando durante los últimos cinco años. Cada vez, ha sido una experiencia increíble y siempre hemos tenido grandes ideas y nos hemos divertido mucho haciéndolo. Nuevamente, fueron muchas palabras y muchas cosas culturales, pero todos somos ingenieros aquí.

Probablemente estén curiosos, bien, ¿cuáles son los desafíos de ingeniería? ¿Qué hace su equipo? Nuestro equipo está llevando aplicaciones de gestión de la cadena de suministro a empresas. Nos enfocamos en el lado de las aplicaciones empresariales, y esta es una pequeña diapositiva que muestra qué áreas estamos cubriendo. Nuestras aplicaciones abarcan ventas, adquisiciones, fabricación, contabilidad de costos, planificación de la oferta y la demanda, almacenamiento, transporte, finanzas, impuestos. Pueden ver en la diapositiva, solo leyendo los títulos de las aplicaciones que componen nuestra suite de productos, es inmenso. Y si piensan en el tamaño del producto, son decenas de miles de tipos de entidades persistentes. Son cientos de miles de clases, millones de pruebas automatizadas.

El equipo necesario para construir software como este es de unos pocos miles de personas, unos pocos miles de ingenieros. Naturalmente, mi equipo es responsable de una parte más pequeña de esta aplicación. Principalmente, nos enfocamos en la gestión de pedidos inteligente, en el servicio de campo y en las capacidades de planificación de la cadena de suministro. Pero los desafíos de ingeniería son muchos. Nos dirigimos a empresas de tamaño mediano a grande. Y con un tamaño de empresa como este, los requisitos de rendimiento y escalabilidad son extremadamente difíciles de cumplir. Otro desafío interesante es cómo integramos tantas aplicaciones en una suite que tenga una apariencia y sensación fluidas y esté integrada de manera perfecta para brindar a los usuarios una experiencia fácil y eficiente. Y, por supuesto, la experiencia del usuario en sí. ¿Cómo hacemos que esta aplicación sea lo más agradable posible? Afortunadamente, estamos aprovechando el poder de la Nube de Microsoft para construir esta suite de aplicaciones, y estamos utilizando la tecnología más reciente y avanzada para lograrlo. Power Apps es la plataforma que establece el marco para nuestro desarrollo. También estamos adoptando la arquitectura de microservicios como medio para escalar de manera independiente, lanzar de manera independiente, asegurando que nuestro... Muy bien, bienvenidos a nuestra masterclass sobre JavaScript.

3. Azure Developer Engagement Lead and Labs

Short description:

Mi nombre es Juarez Barbosa, Jr. Soy el líder de participación de desarrolladores de Azure en Microsoft. Tengo 25 años de experiencia en TI, con un enfoque en la nube, DevOps, Java, JavaScript, Golang, IoT, móvil y blockchain. Hoy hemos preparado recursos técnicos para usted, incluyendo laboratorios sobre Azure Static Web Apps y el marco de pruebas Playwright. También tenemos un canal en Twitter, Microsoft Developers Ireland, donde compartimos eventos próximos y contenido enriquecedor. La agenda incluye una presentación sobre ingeniería de software en Microsoft, seguida de demostraciones de Azure Static Web Apps y Playwright. Los guiaré a través de los pasos y podrán seguir junto conmigo. Comencemos con el tutorial sobre Azure Static Web Apps, donde he resumido los pasos para usted. Cubriremos los requisitos previos, la creación de un repositorio Git y la clonación del REPL localmente.

Mi nombre es Juarez Barbosa, Jr. Soy el líder de participación de desarrolladores de Azure en Microsoft. Aquí pueden ver mis datos de contacto, mi canal de medios, también mi perfil de Twitter y LinkedIn. Así que, en caso de que quieran, digamos, hacerme preguntas después de la masterclass hoy, siéntanse libres de acercarse.

Entonces, sin más preámbulos, comencemos. Para hablar un poco sobre mi perfil, tengo 25 años de experiencia en TI en varios roles diferentes. En ingeniería, como arquitecto de software, arquitecto de soluciones, ya saben, y 10 años en relaciones con desarrolladores, comunidad de desarrolladores, defensa y marketing. En el pasado, actué como campeón de desarrolladores de Nokia y miembro de la comunidad, también como evangelista de IBM mobile y líder mundial en pensamiento para su plataforma móvil. También he trabajado para IBM, en relación con IBM Cloud y el Grupo Cloud, y también como evangelista de Watson y como estrella técnica para Europa, y también para Oracle en EMEA, en relación con el equipo de relaciones con desarrolladores, y ahora Microsoft en Nylon. Últimamente, me he enfocado en la nube, DevOps, Java, que es mi lenguaje de programación principal de alguna manera, pero también JavaScript, Golang, IoT, móvil y blockchain, ¿de acuerdo?

Hablemos un poco sobre la oportunidad aquí. Hoy hemos preparado algunos recursos técnicos para ustedes, así que les voy a dar, digamos, algo de tiempo para escanear este código QR o visitar este enlace de HackaMS aquí. Allí podrán encontrar todos los recursos relacionados con uno de nuestros laboratorios de hoy, ¿de acuerdo? Estamos hablando de Azure Static Web Apps y también de las pruebas con Playwright, que es un marco de trabajo de código abierto creado por Microsoft. Así que, por favor, escaneen este código QR en caso de que estén interesados en aprender más sobre el contenido técnico aquí. Y también tenemos un canal en Twitter, Microsoft Developers Ireland, donde publicamos sobre los próximos eventos y también el contenido enriquecedor que tenemos en Microsoft, algunos cursos gratuitos que están disponibles como parte de Microsoft Learn, y así sucesivamente.

Hablando un poco sobre la agenda, comenzamos con una presentación sobre ingeniería de software en Microsoft. Luego tendremos una demostración rápida ahora. Voy a, digamos, realizar todos los pasos relacionados con los dos laboratorios que tenemos hoy. Voy a comenzar ahora con el relacionado con Azure Static Web Apps, ¿de acuerdo? Incluyendo integración y entrega continua. También construcción, implementación, acciones de GitHub, todo. Y luego tendremos un breve laboratorio introductorio sobre Playwright, que se basa de alguna manera en JST, JS, la biblioteca de pruebas, ya saben. Pero hay algunas extensiones, así que vamos a hablar de eso en breve. Así que, sin más preámbulos, comencemos, ¿de acuerdo? Sí, tengo mi VS Code abierto aquí. Permítanme mostrarles el primer laboratorio, y lo compartiré en la ventana de IAM para que también puedan verlo, ¿de acuerdo? Pero les daré tiempo para completar las tareas, así que si no les importa, intentemos seguir las actividades aquí primero, ¿de acuerdo? Este es el tutorial sobre Azure Static Web Apps. En realidad, es una publicación de blog. He resumido todos los pasos, ya saben, para que no tengan que pasar por toda la extensa documentación que tenemos. Lo primero aquí son algunos requisitos previos, ¿de acuerdo? Así que les daré quizás 15 minutos o algo así para instalar todas las herramientas, pero no tienen que hacerlo ahora porque ya las tengo instaladas aquí para ustedes. Así que puedo guiarlos a través de los pasos y todo, pero tendrán, digamos, mucho tiempo para abordar también los requisitos previos, ¿de acuerdo? Necesitaremos una cuenta de GitHub, necesitaremos una extensión para Visual Studio Code específica para Azure SWA, una cuenta de Azure y pueden, en caso de que no tengan una, crear una cuenta gratuita con nosotros, ¿de acuerdo? Visual Studio Code, eso es el IDE, al menos el que voy a usar aquí hoy, pero por supuesto pueden usar su preferido. Es fácil adaptarlo. No hay nada específico de VS Code aquí aparte de la extensión. También Git, por supuesto, ¿de acuerdo? El primer paso aquí es crear un repositorio Git, ¿de acuerdo? Así que podemos alojar el código de muestra. En realidad, el código aquí no es elaborado, solo es una página web simple y un archivo CSS, ¿de acuerdo? Pero luego pueden visitar esta URL aquí y proporcionar un nombre para su proyecto, y yo ya tengo el mío creado aquí en algún lugar. Permítanme mostrarles. De acuerdo, cierro esto, esto, esto y esto. Creo que está aquí. Lo siento. De acuerdo, este es el REPL, en realidad la acción de GitHub, pero pueden ver el REPL aquí. Es uno simple, con una carpeta de origen y un par de archivos, como dije. De acuerdo. Volvamos. Después de eso, por supuesto, crean un REPL para la aplicación SWA. Tenemos el REPL creado, como pueden ver. De acuerdo. Como dije, no es, digamos, un proyecto completo, ya saben, así que solo es un ejemplo simple, porque el enfoque aquí, por supuesto, yo abogo por Azure, así que quiero mostrarles lo fácil que es crear una aplicación web estática y aplicarla a Azure, ya saben, con unos pocos pasos y también tener CI, CD, ya saben, GitHub Actions y todo lo demás como parte de eso. De acuerdo. Tenemos que clonar el REPL, por supuesto, localmente. De acuerdo, recuerden reemplazar aquí su nombre de cuenta de GitHub. De acuerdo, y yo tengo el mío aquí. De acuerdo, así que abro CMD y luego, digamos, navego hasta el directorio correcto, y luego puedo clonar el REPL. Lo tengo aquí abierto para ustedes, y pueden ver el mismo código fuente aquí con los archivos emergentes, ¿verdad? Hola, dejaste de compartir tu pantalla.

4. Creando una Aplicación Web Estática

Short description:

Hablé sobre el REPL remoto y la creación de una aplicación web estática. Necesitas autenticarte en Azure, seleccionar la sección SWA, proporcionar un nombre para la aplicación, seleccionar la región en la nube, elegir el framework personalizado, proporcionar el directorio del código fuente y comenzar la fase de implementación.

Oh, lo siento. ¡Oh Dios mío! ¿Qué pasó aquí? De acuerdo, genial. Muchas gracias. Sí, déjame volver aquí entonces. Sí, hablé sobre el REPL remoto, de acuerdo, que necesitamos completar la tarea aquí. También puedes verlo aquí después de que lo creé, ¿de acuerdo? Solo tenemos un archivo único. Por supuesto, debes crear un directorio local y luego clonar el REPL, ¿de acuerdo? Tengo las pestañas aquí para ti. Puedes ver el mío aquí, ¿de acuerdo? con un par de archivos también.

Y luego, después de eso, podemos comenzar y crear la aplicación web estática, ¿de acuerdo? Así que vamos a VS Code aquí. Tengo el proyecto aquí, por supuesto. De acuerdo, lo primero que debes hacer es autenticarte en Azure. De acuerdo, puedes ver este icono aquí, Azure. Y luego puedes hacer clic en él. Verás que en realidad el mío ya está autenticado aquí porque mi suscripción está aquí. De acuerdo, pero es un paso fácil. Y tengo, diría, todas las capturas de pantalla y todo aquí para ti. De acuerdo, haces clic aquí y luego te autenticas en él y luego lo tienes autenticado, ¿de acuerdo?

El segundo paso entonces... Tengo que crear una aplicación web estática. Así que seleccionas esta sección específica aquí, SWA. De acuerdo, y luego haces clic en el signo más, ¿verdad? Y luego debes proporcionar un nombre para tu aplicación web estática porque esta aquí, ahora, la voy a implementar en Azure, ¿de acuerdo? Con unos pocos pasos. Así que voy a mantener el mismo nombre aquí. Y solo para mencionarlo, déjame mostrarte, tengo mi... No soy tan... A ver si puedo... ¿Quizás este aquí? No. No. Sí, de acuerdo. Así es, puedes ver aquí mi portal de Azure. De acuerdo. Y no tengo nada implementado aquí porque no hay grupos de recursos aquí. De acuerdo? Y ninguna aplicación. Solo tengo, diría, una huella aquí con respecto a las implementaciones anteriores antes del taller de hoy porque probé todo, por supuesto. ¿De acuerdo? Así es. Aquí está el nombre de mi aplicación. De acuerdo. Así que solo tengo que proporcionarlo y confirmar. Presiono enter. Selecciono la región de la nube, en mi caso, Europa Occidental. De acuerdo? Nuevamente. ¿De acuerdo? Y luego puedo seleccionar, diría, hay varios frameworks diferentes que puedes seleccionar aquí, pero voy a comenzar con personalizado porque es solo una aplicación de JavaScript básica. ¿De acuerdo? Y luego después de eso, tengo que proporcionar el directorio del código fuente. En realidad es SRC. ¿De acuerdo? Como puedes ver aquí, ¿verdad? SRC aquí. Sí. De acuerdo. Confirmo nuevamente. ¿De acuerdo? No voy a crear, diría, un binario o algo, un paquete para esta implementación, así que puedo dejar el argumento para la compilación vacío. Presiono enter nuevamente y comienza la fase de implementación. ¿De acuerdo? Crea la aplicación web estática. Ahora está accediendo a GitHub. ¿De acuerdo? Y ahora el proceso está avanzando.

5. Desplegando la Aplicación y Recursos Adicionales

Short description:

Aquí hay un par de cosas. Si abro este, verás que se está ejecutando como parte de mi configuración de acciones de GitHub. Volvamos a VS Code. Puedes ver que ahora hay un grupo de recursos para la aplicación. Es bastante simple, de hecho. Aquí tienes todos los pasos relacionados con la autenticación contra GitHub, la selección de la suscripción, la provisión de información, la región de implementación en la nube, el directorio del código fuente y la aplicación básica. Microsoft Learn ofrece algunos cursos gratuitos y tenemos diferentes bibliotecas y frameworks. Esta es la página de inicio para las aplicaciones web estáticas de Azure.

Aquí hay un par de cosas. Puedo cerrar este aquí. ¿De acuerdo? Pero si abro, por ejemplo, este aquí, verás que, en realidad, se está ejecutando como parte de mi configuración de GitHub actions. ¿De acuerdo? Todavía se está ejecutando aquí. ¿Verdad? Pronto se marcará con el indicador de marca de verificación verde.

Volviendo a VS Code. De acuerdo. Se está ejecutando. Podemos esperar un poco más. También puedo echar un vistazo a mi portal. ¿De acuerdo? Puedes ver que ahora hay un grupo de recursos para la aplicación. ¿De acuerdo? Vamos a verificar el estado en GitHub nuevamente. Permíteme actualizar esta página aquí. De acuerdo. Sí, tendremos una notificación aquí sobre la aplicación, por supuesto, relacionada con el estado listo. Esperemos un poco. Genial. De acuerdo. Está a punto de terminar. De acuerdo, perfecto. Sí, está hecho. Puedes verlo aquí ahora. Así que solo tengo que hacer clic en 'Navegar por el sitio web'. ¿De acuerdo? Y verás que la aplicación está desplegada. ¿De acuerdo? Es tan fácil como eso. De acuerdo, es bastante simple, de hecho. Eso es lo primero. De acuerdo. Y aquí tienes todos los pasos relacionados con la autenticación contra GitHub, como dije. Además, debes seleccionar la suscripción y proporcionar toda la información aquí. Lo mismo ocurre con la región de implementación en la nube, como te presenté. Conoces el directorio del código fuente, la confirmación aquí. Y luego la aplicación básica. De acuerdo. También tengo algunos recursos diferentes aquí para ti. Permíteme mostrarte esto ahora, esto y esto. Sí. De acuerdo. Entonces, sí, Microsoft Learn ofrece algunos cursos gratuitos, ya sabes, así que te proporciono los enlaces aquí. Ese es el primero, puedes ver muchas cosas relacionadas con las aplicaciones web estáticas de Azure aquí, como este. Conoces este aquí, este aquí, este aquí, ya sabes, así que siéntete libre de explorar más toda la documentación que también está aquí para ti. Ya sabes, y tenemos diferentes, diría, bibliotecas y frameworks aquí. Ya sabes, tenemos React, tenemos Angular, tenemos Vue.js. Todo. Y el último. Esta es en realidad la página de inicio para retrasar la página de inicio principal de este producto, ya sabes, las aplicaciones web estáticas de Azure, así que puedes, diría, verificar todo lo relacionado con el servicio en sí. De acuerdo, y aquí hay puntos adicionales. Entonces, um, ese es el primero, el primero, de hecho, así que podemos comenzar a explorar el tutorial ahora.

6. Testing with Playwright and Resource Cleanup

Short description:

Voy a darte algo de tiempo para completar los pasos, ¿de acuerdo? Y luego, tendremos uno específico para las pruebas con Playwright. Vamos a explorar un poco la aplicación aquí. Tenemos este grupo de recursos, como es habitual en Azure, para agrupar todos los recursos relacionados con tu solución. Luego tengo la aplicación desplegada aquí. Vamos a eliminar esta instancia y el despliegue para asegurarnos de que todo esté limpio.

Voy a darte algo de tiempo para completar los pasos, ¿de acuerdo? Y luego, tendremos uno específico para las pruebas con Playwright. Muy bien, ¿cómo va todo? ¿Todavía estás trabajando en ello? Voy a hacer algo aquí. Voy a compartir mi pantalla de nuevo y mostrarte el despliegue en el portal de Azure proporcionando algunos detalles, ya sabes. Y si necesitas más tiempo, por supuesto, puedo darte un poco más para completarlo. También puedo hacer algo más. Quizás te dé más tiempo para completarlo, pero puedo empezar desde cero de nuevo. De acuerdo, y hacerlo todo. Así que solo para asegurarme de que lo entiendes. ¿De acuerdo? Así que permíteme compartir mi pantalla de nuevo. Genial. De acuerdo, así que puedes ver el portal de Azure aquí, por ejemplo. Y si reviso el grupo de recursos, verás la aplicación aquí, todavía la tengo desplegada aquí. De acuerdo, así que si lo actualizo, puedes ver que todavía está aquí. Puedes ver el pipeline de GitHub actions aquí, ¿verdad?, con las finalizaciones exitosas. Pero vamos a explorar un poco la aplicación aquí. Tenemos este grupo de recursos, como es habitual en Azure, ya sabes, para agrupar todos los recursos relacionados con tu solución, luego tengo la aplicación desplegada aquí, ¿verdad? Si voy a explorarla, verás la aplicación aquí sin ningún detalle, ya sabes, el número de solicitudes y algunas métricas. Y, por supuesto, la URL está aquí, ya sabes, principalmente es la misma. Así que si copio esta aquí y la pruebo con una solicitud GET aquí, puedes ver, ya sabes, básicamente la misma respuesta, ¿verdad? De acuerdo, así que ahora voy a hacer algo. Vamos a eliminar esta instancia aquí y el despliegue para asegurarnos de que todo esté limpio. De acuerdo, vamos a hacerlo. Y luego cerraré mi VS Code en el proyecto también. Y luego podemos empezar desde cero. Como dije, solo para asegurarme de que lo entiendes, porque me encantaría que lo completes. Sí, cierro la carpeta en VS Code. Ahora voy a eliminar el grupo de recursos. De acuerdo, eliminar grupo de recursos. Proporciono un nombre aquí. Eliminar. De acuerdo. Está en ejecución, esperemos un poco. Y luego podemos intentar acceder a la aplicación, verás que todo se ha eliminado y luego podemos empezar desde cero. De acuerdo. Mientras tanto, por favor intenta completar tus pasos allí, porque entiendo que debes instalar todas las dependencias, tal vez tienes diferentes velocidades de conexión y también diferentes variaciones en cuanto al ancho de banda, dependiendo de dónde estés participando. Así que sí, lo tendré en cuenta. De acuerdo. Gracias. De acuerdo. Esperemos un poco más. Genial, no encontrado. 404. De acuerdo. Todavía está en ejecución. Esperemos un poco más para asegurarnos de que todo esté limpio. Sí. De acuerdo. De acuerdo. De acuerdo. De acuerdo.

7. Creating a New Repo and Cloning

Short description:

Vamos a repasar los pasos nuevamente. Crea un repositorio diferente con un nuevo nombre. Clona el repositorio y proporciona tu propio ID de usuario. Crea un nuevo directorio para la aplicación. Abre el proyecto en VS Code y asegúrate de autenticarte en Azure.

De acuerdo. Voy a compartir mi pantalla de nuevo. Sí. Entonces puedes ver que ahora todo está eliminado. De acuerdo, tengo estas actualizaciones aquí. Si reviso tus grupos de recursos. De acuerdo, ya no hay más grupo de recursos aquí. Así que vamos a hablar de todo desde cero, ya sabes, todos los pasos nuevamente. De acuerdo, lo primero entonces. De acuerdo, tenemos los prerequisitos, ya sabes, las dependencias instaladas. De acuerdo, sí, vamos a crear un repositorio diferente ahora. De acuerdo, déjame hacerlo. Déjame empezar esto aquí. Vamos a proporcionar un nombre diferente ahora, tal vez. De acuerdo, lo tengo aquí. Vamos a proporcionar. Vamos a considerar también una aplicación web, de acuerdo. Genial. De acuerdo, está aquí para nosotros. Así que ahora puedo clonar el repositorio. De acuerdo, como segundo paso aquí. De acuerdo, puedes ver, está creado, así que es hora de clonar el repositorio. Así que déjame ajustarlo. Tengo, tengo este git clone aquí. Sí. Y recuerda, debes proporcionar tu propio ID de usuario aquí. De acuerdo, voy a modificarlo. Sí, aplicación web estática también. De acuerdo, sí. Antes tengo que crear un nuevo directorio para esta aplicación. De acuerdo, déjame hacerlo. Guión dos. De acuerdo, sí, lo tengo. Déjame copiarlo aquí. Déjame cambiar de directorio aquí. De acuerdo, estamos listos. Así que ahora puedo clonarlo de nuevo. Perfecto. De acuerdo. Muy bien, ahora puedo abrir VS Code aquí, pero no hay ninguna carpeta abierta. Así que vamos a abrir la que acabamos de crear. De acuerdo. Todo está en orden. Esperemos un poco para cargar las extensiones y todo lo demás. De acuerdo, está activando las extensiones aquí. Sí, estamos realizando este paso aquí, ¿de acuerdo? Estamos abriendo el proyecto y luego podemos comenzar a crear nuestra aplicación web. Déjame verificar si estoy autenticado, creo que sí. Todavía está activando las extensiones, así que esperemos un poco más. De acuerdo. Genial. Sí, estoy autenticado. Eso es importante. De acuerdo. Si no lo estás, por favor sigue los pasos aquí. De acuerdo. Y asegúrate de poder autenticarte en Azure primero.

8. Deploying the Project

Short description:

Tengo el proyecto aquí. Vamos a intentar comenzar. Hay un paso de confirmación. Aplicación web 2. Europa Occidental. Personalizado. SRC. Esperemos. Va bien. La acción de GitHub se está ejecutando. Esperemos a que termine. Se ha aprovisionado la Aplicación Web Estática 2. Servicio de aplicaciones de Azure.

De acuerdo. Tengo el proyecto aquí. De acuerdo. Sí. Parece. Sí, hay algunas actualizaciones sucediendo aquí. Pero de todos modos, creo que podemos intentarlo.

De acuerdo. Permíteme hacer clic aquí. Minimiza esto, esto. No lo necesito. Este también. Sí. Y esto y esto. De acuerdo. Así que lo tengo aquí. Así que intentemos comenzar.

De acuerdo. Sí. Hay un paso de confirmación aquí. Bien. De acuerdo. Así que esto es solo un comentario simple. Puedo presionar Enter aquí. Sí. Aplicación web 2. Eso es correcto. Europa Occidental. De acuerdo. Personalizado. SRC. Nuevamente. La compilación está vacía, como expliqué. De acuerdo, esperemos. Esperemos que funcione. Genial, sí, lo está. Va bien. Esperemos un poco más. Puedo abrir la acción de GitHub. Nuevamente. Sí, de acuerdo, puedes ver que se está ejecutando aquí. Esperemos un poco más hasta que termine. De acuerdo, puedo cerrar esto. Esto también. Esto también. De acuerdo. El portal está aquí. Si actualizo, posiblemente veré, sí, podemos ver Static Web App 2 aquí. Así que hemos aprovisionado el servicio. Al final del día, ese es el servicio de aplicaciones de Azure.

9. Introducción a las pruebas de Playwright

Short description:

Azure Static Web Apps proporciona una abstracción de alto nivel para simplificar la experiencia. El laboratorio 2 es una introducción a Playwright, una biblioteca de pruebas creada por Microsoft. Es un marco de código abierto con características útiles como el espectro de Playwright. Exploraremos las pruebas y la automatización utilizando Playwright, que admite los principales navegadores y lenguajes como JavaScript, TypeScript, Python, .NET y Java. Playwright ofrece flexibilidad en la ejecución de pruebas a través de varias opciones de configuración.

Entonces, las Azure Static Web Apps, proporciona una especie de abstracción de alto nivel para simplificar la experiencia. De acuerdo, todavía se está ejecutando. De acuerdo, hemos pasado este paso aquí. De acuerdo, estamos esperando por este. Genial. Está listo. Volvamos a VS Code. De acuerdo, navegar por el sitio web. Sí, funcionó de nuevo. Perfecto. Perfecto, de acuerdo, ahora tendremos el laboratorio 2 y el laboratorio 2. Es una introducción a Playwright, ¿de acuerdo? Playwright es una biblioteca de pruebas para muchos lenguajes de programación como .Net, JavaScript, Python, Java también, creada por Microsoft. De acuerdo, es un marco de código abierto, uno muy interesante. Reutiliza algunos, diría yo, elementos de la biblioteca que es en realidad JAST.io.js, ya sabes, que es, por supuesto, una biblioteca de pruebas también. De acuerdo, pero la extiende y tiene varias características diferentes, diría yo, como el espectro de Playwright. Es bastante útil de hecho. Así que espero poder presentarte esta genial biblioteca. De acuerdo. Y luego puedes empezar a usarla. De acuerdo. De acuerdo, déjame cambiar de pantalla aquí. Sí, solo para mencionar, todavía tengo la implementación aquí. De acuerdo, la aplicación, nuevamente, verás que todo está aquí. Lo mismo. Los servicios de aplicaciones aquí con esta aplicación web estática. Lo mismo, quieres la nueva URL aquí. De acuerdo. Pero ya no lo necesitamos. De acuerdo. Así que ahora vamos a explorar las pruebas. Por lo tanto, en este momento no hay nada relacionado con Azure específicamente. De acuerdo, pero solo para mostrarte que todavía está funcionando, pero ahora podemos cerrar el portal. Hemos llegado a este punto aquí, como dije, en caso de que encuentres problemas con la finalización. No dudes en contactarme más tarde en LinkedIn. Puedes verlo en Twitter. Puedes ver mi identificador aquí. De acuerdo, pero eso es todo. Hablemos de las pruebas ahora. De acuerdo, también puedo cerrar este. De acuerdo, Playwright. Como dije, esto es una automatización de navegadores cruzados para las pruebas. Creado por Microsoft. Es un marco de código abierto y una biblioteca, uno muy bueno. Puedes, diría yo, abordar los principales navegadores y los motores. Puedes ver Chrome aquí, Firefox, WebKit, y así sucesivamente. Múltiples lenguajes, como dije, JavaScript, TypeScript también. Interesante mencionar, Python, dotnet y Java. De acuerdo, es bueno para la automatización. Hay algunas cosas aquí que te voy a mostrar, cosas bastante interesantes relacionadas con la automatización. Además, puedes controlar varias opciones de configuración diferentes, por lo que puedes controlar la forma en que se ejecuta tu prueba con flexibilidad, lo cual es algo bueno.

10. Explorando las pruebas de Playwright

Short description:

Puedes grabar una sesión de pruebas, capturar capturas de pantalla, crear videos y más. Para comenzar, instala Playwright y utiliza todos los navegadores compatibles. Define una prueba simple accediendo a la página de inicio de Playwright, navegando por los elementos y verificando el contenido del título. La estructura del directorio es sencilla, con un archivo de configuración y una prueba. Ejecuta la prueba con NPX playwright test.

También puedes grabar una sesión de pruebas, ya sabes, y también capturar capturas de pantalla, crear videos y más. Así que vamos a explorarlo. Lo primero que debes hacer es instalarlo. De acuerdo, es fácil. Solo tienes que instalar Playwright primero. De acuerdo, puedes ver los pasos aquí. Uno fácil. De acuerdo, rápido y fácil.

Lo segundo es utilizar todos los navegadores compatibles. De acuerdo, así que aquí hay una ejecución adicional de NPX. Puedes hacer todo desde la CLI. La interfaz de línea de comandos. Puedes ver los resultados relacionados con la instalación aquí.

Entonces, lo segundo ahora es definir una prueba. De acuerdo, así que puedes ver aquí que esta es una prueba muy simple. De acuerdo, básicamente solo estoy accediendo, diría yo, a la página de inicio de Playwright. La tengo aquí. Sí, esta. De acuerdo. Y luego puedo navegar por algunos elementos y verificar, por ejemplo, el contenido del título. De acuerdo, que es Playwright. De acuerdo, así que creo que lo tengo abierto aquí. Sí, puedo cerrar este. Ya no lo necesitamos. De acuerdo. Genial. Sí. Entonces, sí, este es el directorio, puedes ver que la estructura es bastante simple de hecho. Permíteme mostrarte aquí. Esto es solo una prueba, por supuesto. Así que creas esto después de instalar todo y comienzas en ello. Puedes ver las pruebas. De acuerdo. Y tengo un archivo de configuración y una prueba simple aquí. Básicamente, el contenido es el mismo que te mostré. Ya sabes, tengo play right aquí y play right. De acuerdo. Así que puedo ejecutar la primera prueba. De acuerdo. Que es simplemente NPX playwright test. Hagámoslo. De acuerdo. La prueba se está ejecutando. Interesante. Hay algo mal con mi máquina. De acuerdo. Sí, pasó.

11. Grabación de Sesiones y Generación de Código

Short description:

Playwright ofrece funciones poderosas como ejecución en modo headless o headed, captura de capturas de pantalla y diversas opciones a través de la CLI. El inspector te permite grabar sesiones y generar automáticamente código para reutilizar. Retomemos los pasos y aprendamos cómo grabar una sesión con NPX playwright code jam y una URL objetivo.

OK. Así de simple. Correcto. Pero por supuesto, también es una biblioteca poderosa. OK. Puedo ejecutarlo en modo headless. OK. Pero también puedo ejecutarlo en modo headed. OK. Hagámoslo. OK. Sí. Aquí, aquí. Y aquí. Sí. Ahora tenemos un navegador. Genial. Sí. OK. Sí. Completado. Sí. Aquí tienes una captura de pantalla y lo mismo. OK. Ahora hay una forma de y te proporciono varias opciones diferentes relacionadas con la CLI. Puedes explorarlas más tarde. Correcto. Puedes abordar diferentes conjuntos de pruebas. Sabes, cambiar el título para ejecutarlo con un navegador headed. Sabes, como te mostré ahora. Y así sucesivamente. OK. También puedes desactivar la paralelización. Elegir un informe o uno diferente en el inspector de Playwright. Voy a mostrar el inspector. Sabes, el inspector es genial porque luego puedes grabar la sesión. Y luego, después de eso, puedes copiar este contenido aquí y moverlo a un archivo, sabes, para poder reutilizarlo. Eso es bastante útil de hecho, porque en realidad cuando iniciamos el inspector y la grabación, cada acción se graba, por supuesto, ya sabes. Así que crea todo automáticamente. Eso es bastante útil. Es bueno para tu productividad al final del día. Pero retomemos los pasos que están aquí. OK. Sí, vamos. Sí, vamos, déjame mostrarte cómo grabar la sesión, Dan. Sabes, ese es el siguiente. Por cierto. OK, así que puedo elegir desde un NPX playwright code jam. OK. Y proporcionar una URL objetivo. Sí. Así que tengo el objetivo aquí, ya sabes, una instancia del navegador.

12. Maximizando la Eficiencia con Playwright y Jest

Short description:

Puedes grabar y navegar por la sesión, copiar el script a tu editor de código y explorar el archivo de configuración y las opciones. La biblioteca de pruebas de Playwright ofrece funciones poderosas para pruebas y reutilización de código. Puedes apuntar a varios navegadores a la vez y configurar diversas opciones. El archivo de configuración brinda flexibilidad para establecer parámetros como trabajadores, reintentos y modo headless. Puedes ejecutar el archivo en diferentes modos y apuntar a proyectos específicos. Además, hay enlaces al proyecto principal, la API, el repositorio de GitHub y el canal de YouTube. Si no hay más preguntas, se concluirá la sesión y se compartirán nuevamente las posiciones abiertas en Microsoft.

Puedes verlo en azul aquí. Y luego, sí, está aquí. No. Así que puedo presionar grabar y luego puedo comenzar a navegar y grabar todo. Eso es básicamente todo. Sí. ¿Qué más? Déjame ver aquí. Sí. OK. Después de eso, por supuesto, puedes copiar el script a tu editor de código preferido, como las aserciones de código. Como dije, sabes, esta biblioteca, en realidad usamos la biblioteca expect de la biblioteca Just JS testing. OK, estoy seguro de que como desarrollador de JavaScript, has oído hablar de ella. Sabes, lo mismo aquí. Así que de alguna manera no estamos reinventando la rueda. Pero por supuesto, hay muchas extensiones. Y, sabes, en la encapsulación en términos de complejidad, todo se trata de reutilización de código. Pero por supuesto, también te proporcionamos una herramienta muy buena. Por eso creamos el proyecto, ¿vale? Aquí hay algunos ejemplos en términos de las sesiones. Pero si quieres explorar todas las opciones, por supuesto, también te proporcioné el enlace aquí. OK, así que puedes explorarlas todas aquí. Sí, algunos ejemplos aquí, sabes, con el peso, por ejemplo, página, ir a expect first, blah, blah, blah, ya sabes, todo está aquí. Archivo de configuración y opciones. Eso es genial, sabes, porque, por ejemplo, puedes apuntar a todos los navegadores a la vez. Si quieres, sabes, es bastante poderoso de hecho. Este archivo es simple, así que solo tienes que crear un archivo playwright.config.js. Voy a abrirlo aquí. Quizás. Sí, puedo usar VS code. Vamos a intentarlo. Sí. OK, puedes ver el archivo aquí, ¿verdad? Con varias opciones de configuración diferentes, sabes, trabajadores, número de reintentos, por ejemplo, headless. Si es un modo headless o no, sabes, también puedes controlar el viewport. Sabes, proporcionas tus proyectos objetivo, sabes, en ese caso, estamos hablando de navegadores y algunas otras cosas aquí. Puedes ver Safari y Chromium aquí. Por cierto, este archivo se proporciona aquí como parte de mi publicación en el blog, sabes, relacionada con este masterclass. Sí, puedes ejecutarlo de la misma manera, ¿verdad? En un modo headless o headed, configurando los scripts de NPM. Lo mismo. También puedes apuntar a algunos objetivos específicos aquí, sabes, con la opción --config. Y eso es todo. Así que sí, y tengo los enlaces aquí relacionados con el proyecto principal que te mostré, pero también la API, el repositorio de GitHub correspondiente y el canal de YouTube. OK, siéntete libre de explorarlo. Muy bien, gente. ¿Alguna pregunta aquí o algún problema? Si no, voy a dar por concluida esta sesión. Quiero aprovechar la oportunidad nuevamente para compartir las posiciones abiertas que tenemos en nuestros equipos de Microsoft, como presentó Vanya hoy. Estoy publicando los enlaces nuevamente, para que puedas echar un vistazo si revisas el chat aquí. Y por favor, también visita nuestro canal para este masterclass en Discord. OK, también tendrás los enlaces allí.

Watch more workshops on topic

Designing Effective Tests With React Testing Library
React Summit 2023React Summit 2023
151 min
Designing Effective Tests With React Testing Library
Top Content
Featured Workshop
Josh Justice
Josh Justice
React Testing Library is a great framework for React component tests because there are a lot of questions it answers for you, so you don’t need to worry about those questions. But that doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is tricky to test? And what in the world are you supposed to do about that persistent act() warning?
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn
How to Start With Cypress
TestJS Summit 2022TestJS Summit 2022
146 min
How to Start With Cypress
Featured WorkshopFree
Filip Hric
Filip Hric
The web has evolved. Finally, testing has also. Cypress is a modern testing tool that answers the testing needs of modern web applications. It has been gaining a lot of traction in the last couple of years, gaining worldwide popularity. If you have been waiting to learn Cypress, wait no more! Filip Hric will guide you through the first steps on how to start using Cypress and set up a project on your own. The good news is, learning Cypress is incredibly easy. You'll write your first test in no time, and then you'll discover how to write a full end-to-end test for a modern web application. You'll learn the core concepts like retry-ability. Discover how to work and interact with your application and learn how to combine API and UI tests. Throughout this whole workshop, we will write code and do practical exercises. You will leave with a hands-on experience that you can translate to your own project.
Detox 101: How to write stable end-to-end tests for your React Native application
React Summit 2022React Summit 2022
117 min
Detox 101: How to write stable end-to-end tests for your React Native application
Top Content
WorkshopFree
Yevheniia Hlovatska
Yevheniia Hlovatska
Compared to unit testing, end-to-end testing aims to interact with your application just like a real user. And as we all know it can be pretty challenging. Especially when we talk about Mobile applications.
Tests rely on many conditions and are considered to be slow and flaky. On the other hand - end-to-end tests can give the greatest confidence that your app is working. And if done right - can become an amazing tool for boosting developer velocity.
Detox is a gray-box end-to-end testing framework for mobile apps. Developed by Wix to solve the problem of slowness and flakiness and used by React Native itself as its E2E testing tool.
Join me on this workshop to learn how to make your mobile end-to-end tests with Detox rock.
Prerequisites- iOS/Android: MacOS Catalina or newer- Android only: Linux- Install before the workshop
API Testing with Postman Workshop
TestJS Summit 2023TestJS Summit 2023
48 min
API Testing with Postman Workshop
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
In the ever-evolving landscape of software development, ensuring the reliability and functionality of APIs has become paramount. "API Testing with Postman" is a comprehensive workshop designed to equip participants with the knowledge and skills needed to excel in API testing using Postman, a powerful tool widely adopted by professionals in the field. This workshop delves into the fundamentals of API testing, progresses to advanced testing techniques, and explores automation, performance testing, and multi-protocol support, providing attendees with a holistic understanding of API testing with Postman.
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
This workshop will teach you the basics of writing useful end-to-end tests using Cypress Test Runner.
We will cover writing tests, covering every application feature, structuring tests, intercepting network requests, and setting up the backend data.
Anyone who knows JavaScript programming language and has NPM installed would be able to follow along.
Best Practices for Writing and Debugging Cypress Tests
TestJS Summit 2023TestJS Summit 2023
148 min
Best Practices for Writing and Debugging Cypress Tests
Workshop
Filip Hric
Filip Hric
You probably know the story. You’ve created a couple of tests, and since you are using Cypress, you’ve done this pretty quickly. Seems like nothing is stopping you, but then – failed test. It wasn’t the app, wasn’t an error, the test was… flaky? Well yes. Test design is important no matter what tool you will use, Cypress included. The good news is that Cypress has a couple of tools behind its belt that can help you out. Join me on my workshop, where I’ll guide you away from the valley of anti-patterns into the fields of evergreen, stable tests. We’ll talk about common mistakes when writing your test as well as debug and unveil underlying problems. All with the goal of avoiding flakiness, and designing stable test.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Network Requests with Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Network Requests with Cypress
Top Content
Whether you're testing your UI or API, Cypress gives you all the tools needed to work with and manage network requests. This intermediate-level task demonstrates how to use the cy.request and cy.intercept commands to execute, spy on, and stub network requests while testing your application in the browser. Learn how the commands work as well as use cases for each, including best practices for testing and mocking your network requests.
Testing Pyramid Makes Little Sense, What We Can Use Instead
TestJS Summit 2021TestJS Summit 2021
38 min
Testing Pyramid Makes Little Sense, What We Can Use Instead
Top Content
Featured Video
Gleb Bahmutov
Roman Sandler
2 authors
The testing pyramid - the canonical shape of tests that defined what types of tests we need to write to make sure the app works - is ... obsolete. In this presentation, Roman Sandler and Gleb Bahmutov argue what the testing shape works better for today's web applications.
Levelling up Monorepos with npm Workspaces
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Levelling up Monorepos with npm Workspaces
Top Content
Learn more about how to leverage the default features of npm workspaces to help you manage your monorepo project while also checking out some of the new npm cli features.
Full-Circle Testing With Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Full-Circle Testing With Cypress
Top Content
Cypress has taken the world by storm by brining an easy to use tool for end to end testing. It’s capabilities have proven to be be useful for creating stable tests for frontend applications. But end to end testing is just a small part of testing efforts. What about your API? What about your components? Well, in my talk I would like to show you how we can start with end-to-end tests, go deeper with component testing and then move up to testing our API, circ
Automating All the Code & Testing Things with GitHub Actions
React Advanced Conference 2021React Advanced Conference 2021
19 min
Automating All the Code & Testing Things with GitHub Actions
Top Content
Code tasks like linting and testing are critical pieces of a developer’s workflow that help keep us sane like preventing syntax or style issues and hardening our core business logic. We’ll talk about how we can use GitHub Actions to automate these tasks and help keep our projects running smoothly.
Test Effective Development
TestJS Summit 2021TestJS Summit 2021
31 min
Test Effective Development
Top Content
Developers want to sleep tight knowing they didn't break production. Companies want to be efficient in order to meet their customer needs faster and to gain competitive advantage sooner. We ALL want to be cost effective... or shall I say... TEST EFFECTIVE!But how do we do that?Are the "unit" and "integration" terminology serves us right?Or is it time for a change? When should we use either strategy to maximize our "test effectiveness"?In this talk I'll show you a brand new way to think about cost effective testing with new strategies and new testing terms!It’s time to go DEEPER!