Cypress es un nuevo jugador en las herramientas de código abierto para pruebas automatizadas de software.
Presentado por Gilberto Sánchez en SG Virtual Conference 2020
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelTestingUy
Expositor: Didier Corrales
Resumen: En un ambiente de desarrollo ágil, las pruebas son fundamentales, entonces ¿qué tal si llevamos la automatización al siguiente nivel?.
Hay que olvidarse de los estándares más comunes y abrir la mente a aprender cómo mejorar la automatización por medio del uso de herramientas de siguiente generación.
Cypress.io permite a todo el equipo lograr las metas que se han trazado en automatización combinando desarrolladores y testers en un solo esfuerzo para crear productos con los más altos estándares de calidad.
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de PruebasGlobant
Puedes encontrar el video de la charla acá: https://youtu.be/Dq48oJfv_3U
Cypress es una herramienta de automatización similar a Selenium, TestCafe entre otros, creada por desarrolladores Front End para desarrolladores Front End. En esta sesión aprenderemos conceptos básicos para que los Test Automation Engineer puedan beneficiarse de ella.
----------------------------------------------------------------------------------------------------------------------
Descúbre todas nuestras oportunidades acá: https://mycareer.globant.com/
Siguenos en:
Facebook: https://www.facebook.com/Globant/
Twitter: https://twitter.com/Globant
Instagram: https://www.instagram.com/globantpics/
Linkedin: https://www.linkedin.com/company/globant/
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
This Edureka "Node.js tutorial" will help you to learn the Node.js fundamentals and how to create an application in Node.js. Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of server tools and applications. Below are the topics covered in this tutorial:
1) Client Server Architecture
2) Limitations of Multi-Threaded Model
3) What is Node.js?
4) Features of Node.js
5) Node.js Installation
6) Blocking Vs. Non – Blocking I/O
7) Creating Node.js Program
8) Node.js Modules
9) Demo – Grocery List Web Application using Node.js
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelTestingUy
Expositor: Didier Corrales
Resumen: En un ambiente de desarrollo ágil, las pruebas son fundamentales, entonces ¿qué tal si llevamos la automatización al siguiente nivel?.
Hay que olvidarse de los estándares más comunes y abrir la mente a aprender cómo mejorar la automatización por medio del uso de herramientas de siguiente generación.
Cypress.io permite a todo el equipo lograr las metas que se han trazado en automatización combinando desarrolladores y testers en un solo esfuerzo para crear productos con los más altos estándares de calidad.
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de PruebasGlobant
Puedes encontrar el video de la charla acá: https://youtu.be/Dq48oJfv_3U
Cypress es una herramienta de automatización similar a Selenium, TestCafe entre otros, creada por desarrolladores Front End para desarrolladores Front End. En esta sesión aprenderemos conceptos básicos para que los Test Automation Engineer puedan beneficiarse de ella.
----------------------------------------------------------------------------------------------------------------------
Descúbre todas nuestras oportunidades acá: https://mycareer.globant.com/
Siguenos en:
Facebook: https://www.facebook.com/Globant/
Twitter: https://twitter.com/Globant
Instagram: https://www.instagram.com/globantpics/
Linkedin: https://www.linkedin.com/company/globant/
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
This Edureka "Node.js tutorial" will help you to learn the Node.js fundamentals and how to create an application in Node.js. Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of server tools and applications. Below are the topics covered in this tutorial:
1) Client Server Architecture
2) Limitations of Multi-Threaded Model
3) What is Node.js?
4) Features of Node.js
5) Node.js Installation
6) Blocking Vs. Non – Blocking I/O
7) Creating Node.js Program
8) Node.js Modules
9) Demo – Grocery List Web Application using Node.js
Zero downtime deployment of micro-services with KubernetesWojciech Barczyński
Talk on deployment strategies with Kubernetes covering kubernetes configuration files and the actual implementation of your service in Golang and .net core.
You will find demos for recreate, rolling updates, blue-green, and canary deployments.
Source and demos, you will find on github: https://github.com/wojciech12/talk_zero_downtime_deployment_with_kubernetes
Presentation at DotNet Conf on using Docker with .NET core. Basic commands of docker, docker compose, and using a database Postgres with docker and asp .net core.
We often relate Domain-Driven Design with the content of Eric Evans' book; however even this book suggests looking outside for other patterns and inspirations: analysis patterns (Accounting, Finance), domain-oriented use of design patterns (the Flyweight pattern), established formalisms (e.g. monoids) and XP literature in particular (e.g. the patterns on the c2 wiki and OOPSLA papers).
The world has not stopped since the book either, and new ideas keep on emerging regularly. And you can share your own patterns as well.
In this session, through examples and code we'll go through some particularly important patterns which deserve to be in your tool belt. We'll also provide guidance on how best to use them (or not), at the right time and in the right context, and on how to train your colleagues on them!
Unique course notes for the Certified Kubernetes Administrator (CKA) for each section of the exam. Designed to be engaging and used as a reference in the future for kubernetes concepts.
Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
If you’re using Java in an enterprise environment, you’ve most likely been using Spring Framework with JSP which does the job pretty well.But I will provide the sampling of how Spring Boot helps you accelerate and facilitate application development better. I will show a templating technology, Thymleaf which can be used much more modern features;
Fundamental of Node.JS - Internship Presentation - Week7Devang Garach
Fundamental of Node.JS - Internship Presentation - Week 7
What is Node.JS
Features of Node.JS
Node.JS Architecture
Core modules in Node.JS
Node.JS Installation
npm
Creating first node.js application
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
This is a presentation how to introduce CQRS pattern to an existing application, step by step, without breaking changes and holding up the development.
Zero downtime deployment of micro-services with KubernetesWojciech Barczyński
Talk on deployment strategies with Kubernetes covering kubernetes configuration files and the actual implementation of your service in Golang and .net core.
You will find demos for recreate, rolling updates, blue-green, and canary deployments.
Source and demos, you will find on github: https://github.com/wojciech12/talk_zero_downtime_deployment_with_kubernetes
Presentation at DotNet Conf on using Docker with .NET core. Basic commands of docker, docker compose, and using a database Postgres with docker and asp .net core.
We often relate Domain-Driven Design with the content of Eric Evans' book; however even this book suggests looking outside for other patterns and inspirations: analysis patterns (Accounting, Finance), domain-oriented use of design patterns (the Flyweight pattern), established formalisms (e.g. monoids) and XP literature in particular (e.g. the patterns on the c2 wiki and OOPSLA papers).
The world has not stopped since the book either, and new ideas keep on emerging regularly. And you can share your own patterns as well.
In this session, through examples and code we'll go through some particularly important patterns which deserve to be in your tool belt. We'll also provide guidance on how best to use them (or not), at the right time and in the right context, and on how to train your colleagues on them!
Unique course notes for the Certified Kubernetes Administrator (CKA) for each section of the exam. Designed to be engaging and used as a reference in the future for kubernetes concepts.
Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
If you’re using Java in an enterprise environment, you’ve most likely been using Spring Framework with JSP which does the job pretty well.But I will provide the sampling of how Spring Boot helps you accelerate and facilitate application development better. I will show a templating technology, Thymleaf which can be used much more modern features;
Fundamental of Node.JS - Internship Presentation - Week7Devang Garach
Fundamental of Node.JS - Internship Presentation - Week 7
What is Node.JS
Features of Node.JS
Node.JS Architecture
Core modules in Node.JS
Node.JS Installation
npm
Creating first node.js application
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
This is a presentation how to introduce CQRS pattern to an existing application, step by step, without breaking changes and holding up the development.
Esta es la presentación que he preparado para mis compañeros de @NITSNETS en la que explico la integración del testing a todos los niveles de un proyecto y profundizo un poco más en la aplicación práctica para un entorno basado en Laravel.
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
Curso de test driven development usando AngularJS, Jasmine, Karma, Protractor, y Gulp para automatizar todo.
Codigo del proyecto de ejemplo:
https://github.com/rodrigopivi/angularComponentStarter
Charla Evento TestingUY 2016 - Automatización en Ruby 101TestingUy
Expositor: Rodrigo Gómez
Resumen: Veremos desde las características generales del lenguaje Ruby, a su uso para realizar pruebas funcionales. Distintas funciones útiles disponibles en bibliotecas del lenguaje para manejo de servicios, navegación y monitoreo; con ejemplos sencillos en cada caso.
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Onboarding new members into an engineering team is not easy on anyone. In a short period of time, the new team member is required to be able to bring professional
Por Victoriya Kalmanovich
El secreto para ser un desarrollador SeniorSoftware Guru
En esta charla platicaremos sobre el “secreto” y el camino para llegar a ser un desarrollador Senior, experiencia, consejos y recomendaciones que en estos 8 años
Por René Sandoval
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
How thick data can improve big data analysis for business:Software Guru
En esta presentación hablaré sobre cómo el Análisis de Datos Gruesos, específicamente el análisis antropológico y semiótico, puede ayudar a mejorar los resultados del Big Data
Por Martin Cuitzeo
CoDi® es la nueva forma de realizar pagos digitales desarrollada por el Banco de México. Por medio de CoDi puedes realizar cobros y pagos desde tu celular, utilizando una cuenta bancaria o de alguna institución financiera, sin comisiones.
Por Cristian Jaramillo
Gestionando la felicidad de los equipos con Management 3.0Software Guru
En las metodologías agiles hablamos de equipos colaborativos, autogestionados y felices. hablamos de lideres serviciales. El management 3.0 nos ayuda a cultivar el mindset correcto, aquel que servirá como el terreno fértil para que la agilidad florezca.
Por Andrea Vélez Cárdenas
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
Hoy por hoy las experiences de usuario pueden ser enriquecidas mediante el uso de Web Components, que son un estándar de la W3C soportado por la mayoría de los navegadores web modernos.
Por Alex Arriaga
Así publicamos las apps de Spotify sin stressSoftware Guru
En Spotify tenemos 1600+ ingenieros, trabajando en 280+ squads. Aún a esta escala, hemos logrado adoptar prácticas que nos han permitido acelerar la forma en que desarrollamos nuestro producto. Presentado por Erick Camacho en SG Virtual Conference 2020
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
he measure of the executive, Peter F. Drucker reminds us, is the ability to "get the right things done." This involves having clarity on what are the right things as well as avoiding what is unproductive. Intelligence, creativity, and knowledge may all be wasted if not put to work on the things that matter.
Presentado por Cristina Nistor en SG Virtual Conference 2020
Acciones de comunidades tech en tiempos del Covid19Software Guru
Acciones de Comunidades Tech en tiempo del COVID-19 es una platica para informar acerca de las acciones que están realizando algunas comunidades de tecnología en México para luchar contra la propagación del COVID-19. Desde análisis de datos, visualizaciones, simulaciones de contagio, etc.
Presentado por Juana Martínez, Adriana Vallejo y Eduardo Ramírez en SG Virtual Conference 2020
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
La charla presenta un modelo claro, generado por la ponente, para atender los niveles desde lo operativo a lo estratégico.
Presentado por Gabriela Salinas en SG Virtual Conference
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
1. Cypress en un
Mundo de Selenium
Gilberto Sánchez Mares
Consultor De Automatización
@ Titanium Solutions
Unidos compartiendo y aprendiendo
#SGVirtual
2. Gilberto Sánchez Mares
Consultor de Pruebas de software con más de
8 años de experiencia en el área de pruebas
de software
gsanchez@titaniumsolutions.com.mx
Gilberto Sánchez
Mares
3. Temas
1. End-To-End Testing.
a) ¿Qué es End-to-End Testing?
b) End-to-End vertical vs Horizontal
2. Introducción a Cypress.
a) ¿Qué es Cypress?
b) Principales Características
3. Demo.
a) Arquitectura
b) Proceso
6. La pirámide de pruebas actual se enfoca en prevenir bugs, más que en encontrarlos.
Pirámide de las Pruebas
GUI Test
Integration
Test
Component/Contract
Test
Unit Test
7. una metodología en la cual, el flujo entero de una aplicación es evaluado. El propósito de
este mecanismo es verificar que los distintos componentes de una aplicación funcionan
correctamente entre sí.
Usando pruebas E2E interactuamos con la aplicación como un usuario regular lo haría, y, por
lo tanto, utilizando cada parte de la aplicación y evaluando las respuestas para el
comportamiento esperado.
¿Qué es End-to-End Testing?
Test Planing
Test Design
Test Execution
Result
Analysis
8. Beneficios del e2e
Ayuda a garantizar que el software esté listo para producción y evitar riesgos después del
lanzamiento.
1. Confirma el estado de la aplicación: las pruebas e2e validarán que su software sea funcional en
cada nivel (desde el front hasta el back-end).
2. Expande la cobertura de prueba: Amplía la cobertura de prueba para poder crear casos de prueba
adicionales que pueden no haber sido considerados previamente.
3. Detecta errores y aumenta la productividad de la aplicación: en las pruebas e2e, el software
generalmente se prueba después de cada iteración, lo que significa que podrá encontrar y
solucionar cualquier problema más rápido.
4. Reduce los esfuerzos y los costos de las pruebas: con menos errores y pruebas exhaustivas en cada
paso, las pruebas e2e también disminuirán la necesidad de repetir las pruebas.
10. e2e Vertical vs Horizontal
E2E Horizontal: Incluye UI y la capa de
integración.
E2E Vertical:
Implementación de
pruebas en todos los
niveles de pruebas.
11. Tipo de E2E Prerrequisitos Ventajas
Horizontal
Debido a que está verificando un flujo
de trabajo completo en múltiples
aplicaciones, es vital que los entornos
de prueba para su sistema y todos sus
subsistemas estén configurados de
antemano.
• Incluye pruebas de enfoque en la perspectiva
del usuario.
• Evita que los problemas lleguen a la
producción.
• Garantiza la cobertura de los requisitos de
lógica empresarial.
Vertical
Dado que enfoca sus pruebas en la
arquitectura de una sola aplicación,
necesitará el respaldo de una estrategia
de prueba o desarrollo, como BDD, TDD o
las pruebas continuas. Deberá asegurarse
de que cada parte interesada importante
participen en el proyecto.
• Alta cobertura de código
• Ejecución de prueba más rápida
• Pruebas más enfocadas
• Útil para software crítico de seguridad
Prerrequisitos y Ventajas
Prerrequisitos y Ventajas de los Tipos
de e2e
18. 7 formas en que Cypress es diferente
1. No usa Selenium.
2. Se enfoca en hacer pruebas e2e REALMENTE bien.
3. Trabaja en cualquier framework de front-end o sitio
web.
4. Las pruebas de Cypress están escritas solamente en
JavaScript.
5. Es todo en uno.
6. Es para desarrolladores e Ingenieros de Pruebas.
7. Ejecuta mucho, mucho más rápido.
Principales Ventajas
20. Viaje en el Tiempo
Toma screenshots mientras se ejecutan las pruebas. Simplemente
coloque el cursor sobre los comandos en el Command Log para
ver exactamente qué sucedió en cada paso.
Características
Recarga en Tiempo Real
Se recarga automáticamente cada vez que realiza cambios en sus
pruebas. Vea los comandos ejecutados en tiempo real en su
aplicación.
Spies, Stubs y Clocks
Verifique y controle el comportamiento de las funciones, las
respuestas del servidor o los temporizadores. La misma
funcionalidad que le encanta de las pruebas unitarias está al
alcance de su mano.
Resultados Consistentes
Nuestra arquitectura no utiliza Selenium o WebDriver. Saluda a
las pruebas rápidas, consistentes y confiables.
Depuración
Deja de adivinar por qué tus pruebas están fallando. Depure
directamente desde herramientas familiares como Chrome
DevTools. Nuestros errores legibles y los rastros de la pila
agilizan la depuración..
Espera Automática
Nunca agregue waits o sleeps a sus pruebas. Cypress
automáticamente espera comandos y aserciones antes de
continuar. No más infierno asíncrono.
Control de Tráfico de Red
Controle, bloquee y pruebe casos extremos fácilmente sin
involucrar a su servidor. Puede detener el tráfico de red
como quiera.
Screenshots y Videos
Vea capturas de pantalla tomadas automáticamente en caso de
falla o videos de todo su conjunto de pruebas cuando se
ejecutan headlessly.
21. Page Object Model App Actions
Es muy popular entre la comunidad, ya que se ha
implementado desde hace bastante tiempo.
Definida por Cypress es bastante nueva y no se han producido
muchas adaptaciones.
Es como otro contenedor para Page DOM.
Tiene muy poco o nada que ver con DOM, ya que la acción de
la aplicación intenta evitar DOM.
usa DOM como white box y el resto de la aplicación
como black box (como métodos internos, XHR, API,
etc.).
Intenta invocar métodos internos, API de la aplicación y,
por lo tanto, considera la aplicación completa, incluido
DOM, como un White box y nada queda como un black box.
Es bastante fácil de escribir, ya que cualquier
persona que tenga conocimiento sobre identificadores
de objetos comienza a trabajar con él.
Necesita más conocimiento de codificación o aspectos
internos de la aplicación y es posible que deba escribir un
código contenedor internamente en la aplicación o agregar
lógica en su código de prueba y vincularlo con el código de
la aplicación.
Debe mantenerse por separado como clases si la
aplicación cambia, todas las clases POM DEBEN
cambiarse también.
Están menos vinculadas con DOM e incluso si puede crear DOM
privado interno sobre la marcha, pero de nuevo, es mucho
menos engorroso que POM
Hace que la prueba sea más lenta ya que implica una
compilación adicional de todos los casos de prueba.
Es mucho más rápida o, a veces, incluso más rápida que la
aplicación y debe sincronizarse (lo que a su vez es una
desventaja)
Tiene mucho apoyo de la comunidad.
Tiene poco o ningún soporte, ya que es más probable que
entiendas el desarrollo de la aplicación y cómo seleccionas
el código.
Page Object Model vs App Actions
App Actions
24. Stack de Tecnologías
Gherkin
Feature File
Page Object
Model
Cypress
Test Driver
JavaScript
Binding Language
Cucumber
(BDD) Testing Framework
Step File
Test Data