Pruebas para la Web Moderna con Playwright

Rate this content
Bookmark

La plataforma web moderna está en constante evolución. Las aplicaciones web de hoy en día son más sofisticadas que nunca y las pruebas para la web moderna requieren primitivas modernas. En esta charla, cubriremos cómo Playwright permite de manera única a los desarrolladores web enviar más rápido y con más confianza.

Arjun Attam
Arjun Attam
30 min
15 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Arjun presenta Playwright, una biblioteca para pruebas de extremo a extremo de aplicaciones web en múltiples navegadores. Los desafíos en las pruebas web modernas incluyen la evolución de la plataforma web y los frameworks reactivos. Playwright ofrece automatización capaz, confiable y rápida, con la capacidad de capturar eventos y mejorar la confiabilidad de las pruebas. Utiliza contextos de navegador para una ejecución más rápida y admite múltiples lenguajes y frameworks. Playwright es utilizado por empresas como VS Code, Bing, Adobe y Material UI, y ofrece soporte multi-navegador y una hoja de ruta en constante mejora.

Available in English

1. Introducción a las pruebas en la web moderna

Short description:

Hola, mi nombre es Arjun y estoy emocionado de estar aquí en Test.js y hablarles sobre las pruebas. Soy un gerente de programa en Microsoft, donde mi equipo está construyendo Playwright. Playwright es una nueva biblioteca para pruebas de extremo a extremo en múltiples navegadores de aplicaciones web. En esta charla les hablaré sobre las pruebas en la web moderna. Mi equipo y yo hemos interactuado con cientos de probadores y desarrolladores que están construyendo aplicaciones web modernas, y hemos diseñado Playwright para satisfacer sus necesidades.

Hola, mi nombre es Arjun y estoy emocionado de estar aquí en Test.js y hablarles sobre las pruebas. Soy un gerente de programa en Microsoft, donde mi equipo está construyendo Playwright. Playwright es una nueva biblioteca para pruebas de extremo a extremo en múltiples navegadores de aplicaciones web.

En esta charla les hablaré sobre las pruebas en la web moderna. Mi equipo y yo hemos interactuado con cientos de probadores y desarrolladores que están construyendo aplicaciones web modernas, y hemos diseñado Playwright para satisfacer sus necesidades. También les mostraré las ideas principales detrás de Playwright y espero convencerlos de por qué Playwright es la herramienta de pruebas adecuada si están construyendo una aplicación web moderna.

Comencemos. Empecemos hablando sobre la plataforma web moderna. La plataforma web moderna es más capaz que nunca. Los navegadores web han madurado significativamente en los últimos años. Se ejecutan en todos los dispositivos que tenemos, incluyendo nuestro escritorio, nuestros teléfonos y televisores inteligentes. También ha habido una continua incorporación de nuevas características en la plataforma web. Por ejemplo, la web ahora puede detectar tu ubicación actual, puede conectarse a dispositivos Bluetooth y también interactuar con tu sistema de archivos. El ritmo de innovación en la plataforma web ha sido increíble.

2. Desafíos en las Pruebas en la Web Moderna

Short description:

Estos cambios en la plataforma web han impulsado la innovación en el mundo de las aplicaciones. Las aplicaciones web de hoy en día son aplicaciones completas con interacciones ricas y receptivas. Los equipos están luchando por automatizar todas las partes de su aplicación debido a la evolución de la plataforma web y los desafíos planteados por los marcos reactivos. Esto ha resultado en que las pruebas de extremo a extremo ralenticen a los equipos en lugar de ayudarles a avanzar más rápido. Las pruebas en la web moderna deben ser capaces, confiables y rápidas para mantenerse al día con el cambiante panorama web.

Estos cambios en la plataforma web han impulsado la innovación en el mundo de las aplicaciones. Si observamos las aplicaciones de escritorio, son muy similares a lo que eran hace 10 años, pero las aplicaciones web son muy diferentes. Las aplicaciones web de hoy en día son aplicaciones completas que tienen interacciones ricas y receptivas. Estamos construyendo aplicaciones de una sola página que se crean con nuevos frameworks reactivos de JavaScript. También estamos construyendo PWAs que están reemplazando a las aplicaciones nativas. Tanto la plataforma como nuestras aplicaciones en la web han evolucionado significativamente.

Con estos cambios, también hemos visto cambios en la forma en que los equipos operan. Los equipos de desarrolladores y probadores están avanzando más rápido. Muchos equipos están construyendo aplicaciones hoy en día y hay presiones competitivas que los empujan a lanzar más rápido, porque así es como logran sus objetivos comerciales. Esto ha llevado a los equipos a adoptar flujos de trabajo más nuevos como CI, CD y despliegue continuo. Los equipos también están buscando soluciones de pruebas automatizadas para poder lanzar aún más rápido. Desafortunadamente, las pruebas de extremo a extremo no han evolucionado tan rápido como la web misma. Hablemos un poco más sobre eso.

Las pruebas de extremo a extremo deben evolucionar para los cambios que hemos mencionado en la web moderna. Por ejemplo, las pruebas deben poder automatizar las nuevas características de la plataforma que están apareciendo en los navegadores. Estas incluyen capacidades disponibles en navegadores de escritorio, capacidades disponibles en navegadores móviles e incluso capacidades que se están impulsando en televisores inteligentes. Los equipos están luchando por poder automatizar todas las partes de su aplicación porque sus pruebas no pueden cubrir todas las capacidades que están utilizando. Las aplicaciones de hoy en día también son más difíciles de automatizar. Las pruebas no pueden mantenerse al día con cómo funcionan los frameworks reactivos. Por lo tanto, los equipos que están construyendo aplicaciones de una sola página con interacciones ricas encuentran que sus pruebas de extremo a extremo son inestables. No pueden automatizar de manera confiable las interacciones del usuario en sus aplicaciones. Lo que sucede como resultado es que las pruebas de extremo a extremo que en realidad deberían ayudarte a avanzar más rápido, en realidad están ralentizando a los equipos. Los equipos terminan teniendo que agregar tiempos de espera o reintentos para poder manejar problemas de confiabilidad. Los equipos están luchando con problemas de cobertura porque no pueden automatizar todas las partes de su aplicación. Por lo tanto, las pruebas de extremo a extremo están ralentizando a los equipos cuando realmente necesitan poder lanzar más rápido. Estos tres problemas son la razón por la cual las pruebas de extremo a extremo no han podido evolucionar para la web moderna. Y estos tres problemas nos dan realmente los tres pilares de las pruebas en la web moderna. Las pruebas en la web moderna deben ser capaces para poder automatizar todas las posibles capacidades de la plataforma web moderna. Las pruebas en la web moderna también deben ser confiables, lo que significa que deben poder automatizar de manera confiable las interacciones del usuario con aplicaciones web altamente ricas y receptivas. Y finalmente, las pruebas en la web moderna deben ser rápidas, lo que significa que deben poder acelerar nuestros procesos de envío y lanzamiento en lugar de ralentizarlos.

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

Testing Web Applications with Playwright
TestJS Summit 2022TestJS Summit 2022
20 min
Testing Web Applications with Playwright
Top Content
Testing is hard, testing takes time to learn and to write, and time is money. As developers we want to test. We know we should but we don't have time. So how can we get more developers to do testing? We can create better tools.Let me introduce you to Playwright - Reliable end-to-end cross browser testing for modern web apps, by Microsoft and fully open source. Playwright's codegen generates tests for you in JavaScript, TypeScript, Dot Net, Java or Python. Now you really have no excuses. It's time to play your tests wright.
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
Everyone Can Easily Write Tests
TestJS Summit 2023TestJS Summit 2023
21 min
Everyone Can Easily Write Tests
Let’s take a look at how Playwright can help you get your end to end tests written with tools like Codegen that generate tests on user interaction. Let’s explore UI mode for a better developer experience and then go over some tips to make sure you don’t have flakey tests. Then let’s talk about how to get your tests up and running on CI, debugging on CI and scaling using shards.
Tiny Tests, Large Results
TestJS Summit 2022TestJS Summit 2022
21 min
Tiny Tests, Large Results
Yes, Big things do come in small packages. For example, isn’t a unit test’s speed, feedback, and reliability fantastic? Did you know we can also have fast, focused, and reliable feedback from our functional e2e tests? Atomic e2e tests are those that are targeted and focused. They’re tiny in size but large in their impact. This tutorial will teach you how to create atomic e2e tests with several code examples. First, we will use Cypress.io to authenticate by setting a cookie. Instead of using a UI. Second, we will use Cypress.io to set a JSON Web Token for authentication. Join me, and let’s write tiny tests for large results.
We May Not Need Component Testing
Vue.js Live 2024Vue.js Live 2024
26 min
We May Not Need Component Testing
Testings are mandatory and unit tests are the foundation for building a good testing system for our project. But for front end projects which involve components, how many unit tests are considered efficient and not overkill? Should we use additional libraries like Testing Library or Vue Test Utils with Vitest to test a component, when we can perform the same with just Playwright? Whether a component test using an E2E framework like Playwright is really a kill for? Let's find out in my talk.
Testing Mail Service With Playwright
TestJS Summit 2022TestJS Summit 2022
17 min
Testing Mail Service With Playwright
Top Content
We send emails to our users - account verification and newsletters. We allow the user to contact us by sending an email via inbuild form. Do we? Does the user receive an account verification email or exactly what notification they signed up for? We can cover this functionality as part of E2E tests: get an email and open it to check what is in it. We will need Playwright and a fake SMTP server to capture emails sent by the app.

Workshops on related topic

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
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.
Building out a meaningful test suite that's not all E2E
TestJS Summit 2023TestJS Summit 2023
89 min
Building out a meaningful test suite that's not all E2E
Workshop
David Burns
David Burns
We're all taught to follow the Testing Pyramid but the reality is that we build out the Testing Christmas Tree. In this workshop, David will talk you through how to break down projects and put the tests where they need to be. By the end of the workshop you will be able to update your projects so that anyone and everyone can start contributing and truly living up to "Quality is everyone job".
He will walk you through:- Component Testing- API Testing- Visual Regression Testing- A11Y testing
He will also talk you through how to get these all setup in your CI/CD pipeline so that you can get shorter and faster feedback loops.
Live e2e test debugging for a distributed serverless application
TestJS Summit 2021TestJS Summit 2021
146 min
Live e2e test debugging for a distributed serverless application
WorkshopFree
Serkan Ozal
Oguzhan Ozdemir
2 authors
In this workshop, we will be building a testing environment for a pre-built application, then we will write and automate end-to-end tests for our serverless application. And in the final step, we will demonstrate how easy it is to understand the root cause of an erroneous test using distributed testing and how to debug it in our CI/CD pipeline with Thundra Foresight.

Table of contents:
- How to set up and test your cloud infrastructure
- How to write and automate end-to-end tests for your serverless workloads
- How to debug, trace, and troubleshot test failures with Thundra Foresight in your CI/CD pipelines
Uniform Browser Automation Infrastructure
TestJS Summit - January, 2021TestJS Summit - January, 2021
127 min
Uniform Browser Automation Infrastructure
Workshop
Ivan Krutov
Ivan Krutov
In this workshop, I will show you how to quickly deploy and use browser automation infrastructure with Moon solution. We will start deploying everything on your workstation and will soon be able to run Selenium, Playwright and Puppeteer tests in parallel in the same cluster. Then I will demonstrate how to easily deliver the same experience for your team using a remote cluster in the cloud platform.