Si estas leyendo esto seguramente estes interesado en aprender selenium webdriver, para ello, existen diversas herramientas que podemos utilizar, tanto pagas como open source. Es importante, sin embargo, saber que difícilmente una herramienta supere en popularidad a nuestro viejo y querido Selenium Webdriver.
La intención de este post es responder algunas dudas comunes sobre esta herramienta, que pueden ser confusas al principio. La idea es ayudarte a empezar pisando sobre suelo firme a la hora de aprender.
Que es automatizar?
Automatizar se trata de utilizar scripts para realizar una determinada tarea. Cuando hablamos de automatizar en testing de software nos referimos a la posibilidad de escribir codigo que pueda navegar por si solo en un sitio web o en un dispositivo movil, realizando validaciones que nos permitan validar que nuestra aplicacion bajo prueba funciona correctamente.
Selenium que es?
Selenium Webdriver es una herramienta que se utiliza para automatizar aplicaciones web. En sus primeras versiones, conocidas como Selenium RC, Selenium utilizaba javascript como intermediario para comunicarse con el navegador. En las versiones mas actuales, utiliza el protocolo Webdriver para comunicarse directamente con los navegadores.
Selenium vs Selenium Webdriver
Hoy día podemos referirnos a esta herramienta de las dos maneras, aunque la forma correcta es Selenium Webdriver, ya que este proyecto viene de la union de dos proyectos separados, Selenium y Webdriver.
Selenium hace referencia al código que utilizamos para automatizar, mientras que webdriver es la implementación del protocolo en cada uno de los navegadores.
Selenium vs Appium
Appium es un primo hermano de Selenium Webdriver, aunque no es lo mismo, Appium esta dedicado a la automatización de dispositivos móviles, como iPhone y Android.
Quizá te interesa
Aprender Selenium Webdriver
Una de las preguntas que mas recibo es como aprender selenium webdriver. La realidad es que no hay una respuesta única a esta pregunta ya que va a depender de muchas cosas, por ejemplo, que conocimientos previos tenemos de automatización en otras herramientas, o que conocimientos de programación tenemos.
Lo primero que creo conveniente es entender sobre testing en general, al menos tener claros los conceptos básicos sin importar si venimos como desarrolladores o no. Que es un caso de prueba, que es una suite de prueba, que son los steps, las validaciones, las precondiciones, etc. Todo esto es necesario para poder ser un buen automatizador de pruebas.
Por otro lado, si, es necesario saber programar, y de acuerdo al nivel de programación que tengamos es que tan lejos podemos llegar como automatizadores de pruebas de software.
Por ejemplo, es relativamente sencillo escribir casos de prueba una vez tenemos un framework escrito, aunque es un poco mas complejo construir un framework de automatización en si. Dicho esto, podemos ser mas complejos y hablar sobre aplicar conceptos mas avanzados como concurrencia, integración continua, performance, etc.
Entonces, si no sabes programar, te recomiendo que aprendas a programar y tengas bases bien asentadas de programación orientada a objetos. Lo importante es que puede ser en el lenguaje que sea, aunque algunos de ellos sean mas sencillos de aprender como Python, Ruby o JavaScript que otros como Java o C#.
Aprender Selenium con Python
Quizá te pueda interesar
Selenium con Python es una de las formas mas comunes que tenemos hoy día de automatizar pruebas de software, ya que Python es un lenguaje liviano que facilita bastante el aprendizaje de la sintaxis.
Para poder aprender a programar en Python recomiendo primero ver que forma de aprendizaje nos sirve mas a cada uno, ya sea leyendo, o mediante contenido multimedia como videos en Youtube.
Podemos escribir en el buscador de YouTube ¨Curso basico de Python¨ y vamos a tener muchos resultados en español con contenido muy interesante para aprender.
Personalmente es el lenguaje que recomiendo para empezar, y si te gusta, seguramente puedas quedarte con el ya que es uno de los lenguajes mas utilizados para aprender a programar.
Conclusiones
El camino no es fácil, pero es divertido y la recompensa es grande, por lo que si te interesa aprender a automatizar, o programar, te recomiendo que lo hagas y no te vas a arrepentir.