¡Hola a todos!
Mis estudiantes e ingenieros de automatización de control de calidad que conocí en conferencias y otras actividades de control de calidad me inspiraron para escribir este artículo.
Por lo general, cuando comienza mi curso de WebdriverIO , mis alumnos me preguntan por qué estamos estudiando WebdriverIO y no Selenium .
Muchos ingenieros de automatización de control de calidad capacitados que trabajan con otros lenguajes de programación además de JavaScript ( Java o Python, por ejemplo, estos son los más populares ), en realidad no saben mucho sobre WebdriverIO y lo que tiene para ofrecer.
De todos modos, déjame contarte sobre la diferencia entre WebdriverIO y Selenium , por lo que la respuesta si uno es mejor que otro sería clara para ti.
La imagen de arriba muestra la proporción de menciones de herramientas de automatización de interfaz de usuario web en 2020 para vacantes de automatización de control de calidad.
Puede ver con certeza que Selenium es el líder incondicional en esta lista, y hay algunas razones para ello:
Tiene sentido, ¿verdad?
Esta es una proporción de menciones de lenguajes de programación en 2020 para vacantes de automatización de control de calidad.
Selenium se usa en la mayoría de los lenguajes excepto JavaScript ( TypeScript ) y, como puede ver, JavaScript tiene solo el 6,9% del mercado de automatización de pruebas.
Actualmente, el mercado de automatización de pruebas de JavaScript está hambriento de especialistas en automatización de pruebas, porque tiene muchas herramientas únicas, como Cypress , WebdriverIO , TestCafe , Playwright ( también lanzado para Java y Python ) y otras. En el futuro más cercano, la parte de JavaScript aumentará en esta proporción debido a la saturación de estas herramientas ( y también porque la mayor parte del desarrollo front-end se realiza en JavaScript, mientras que la tendencia es que las empresas involucren a los desarrolladores en la automatización de pruebas ).
En conclusión, Selenium es la herramienta de automatización de interfaz de usuario web más popular en el mercado de automatización de pruebas.
Los gráficos anteriores se encontraron aquí.
Si observa las ofertas de trabajo en las que se utiliza JavaScript para la automatización de pruebas, no encontrará muchas menciones de Selenium ; en su lugar, habrá Cypress , WebdriverIO o Playwright .
Eso es así porque Selenium no tiene ninguna ventaja sobre estas herramientas. Selenium usa webdriver para interactuar con el navegador, mientras que hay un protocolo DevTools mucho más rápido ( pero no es compatible con muchos navegadores en este momento ). De todos modos, la verdad es que no muchas empresas realizan pruebas entre navegadores, solo ejecutan sus pruebas en Chrome y eso es todo.
WebdriverIO tiene una selección de la forma en que le gustaría interactuar con el navegador, ya sea webdriver o DevTools .
Además, Selenium es solo una herramienta de interfaz de usuario web y eso es todo. Solo lo usa para manipular acciones en un navegador. Mientras que WebdriverIO , por otro lado, es un marco, que tiene una interfaz de línea de comandos ( CLI ) y una configuración muy flexible.
En otras palabras, WebdriverIO puede hacer las mismas cosas que Selenium, pero también viene con muchas integraciones con herramientas populares de automatización de pruebas listas para usar.
En conclusión, por qué WebdriverIO es mejor que Selenium :
Parece que WebdriverIO es un ganador aquí, pero en realidad, es más o menos...
Verá, WebdriverIO está disponible solo para JavaScript ( TypeScript ), mientras que la mayoría de los proyectos de automatización de pruebas se están desarrollando con Java , Python , etc.
Entonces, es seguro decir que WebdriverIO es mejor que Selenium si desarrolla pruebas automatizadas usando JavaScript ( TypeScript ).
Gracias por leer, espero que hayas aprendido algo nuevo y ahora sepas más sobre los marcos de automatización de pruebas ( especialmente los de JavaScript ).