Probando tu app web con Selenium Part2

Standard

seleniumlogoBuen día, espero todos la estén pasando bien, hoy voy a continuar con mi publicación anterior que fué sobre selenium

. En el anterior post dí una pequeña introducción a su uso, en ese artículo, comenté que el plugin sólo funciona para firefox, pero que podíamos utilizarlo para probar otros navegadores, lo cual realmente es un requisito más que una característica extra.

Para revisar el articulo pueden ir aquí

En este artículo les voy a platicar cómo podemos utilizar esta herramienta para probar no sólo firefox, sino chrome y safari que son los navegadores que personalmente utilizo más, empecemos pues.

Lo primero que haremos es abrir firefox en google para hacer un simple script.

Una vez abierto firefox iniciemos una grabación dando click en el ícono de selenium.

Nuestra prueba es muy simple, vamos a escribir en el único campo que nos ofrece google para buscar lo que gustemos, en este caso, simplemente coloqué selenium y al final damos click en el logo de google para volver a la página inicial y una vez hecho esto paramos la grabación. El resultado será algo como esto, no importa que sea un poco diferente, igual pueden copiar el código que colocaré.

recordgooglesele

Pues bueno lo que sigue es exportar el script, para hacer esto damos click en el menú ‘File’ -> ‘Export Test Case As’ -> ‘ Ruby / Test::Unit / WebDriver’, por facilidad para los usuarios de mac de los cuales soy uno, utilizaré ruby ya que viene instalado por default y le ponemos como nombre ‘ExampleSelenium.rb’.

Lo siguiente es instalar la gema de selenium para ruby, para esto basta con ejecutar el comando en terminal

sudo gem install selenium-webdriver

Una vez guardado el archivo e instalada nuestra gema lo podemos ejecutar con terminal simplemente con “ruby ExampleSelenium.rb”, en algunos casos por un bug en selenium, nos puede marcar un error

 

 ${receiver}.find_element(how, what)

La solución a esto es editar nuestro script y cambiar “${receiver}” por “@driver”, una vez hecha la modificación si corremos el script, ahora debiera funcionar.

El resultado del script debiera ser algo como:

ruby ExampleSelenium.rb

Run options:

# Running tests:
 
Finished tests in 8.923826s, 0.1121 tests/s, 0.1121 assertions/s.
 
1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Como podemos ver, el script abrirá el navegador (firefox) y va a ejecutar las mismas acciones que nosotros grabamos y si todo va bien, se generará el resultado mostrado, en caso contrario, nos indicará los errores que encuentre.

Bueno, ahora lo que sigue es que este script funcione para chrome, para lograrlo primero tenemos que instalar ChromeDriver, para esto la opción más indolora es utilizar Homebrew con el comando

brew install chromedriver

Una vez hecho lo anterior, simplemente vamos a nuestro archivo y modificamos la linea “@driver = Selenium::WebDriver.for :firefox” y cambiamos firefox por chrome “@driver = Selenium::WebDriver.for :chrome”, guardamos y corremos de nuevo el script. El resultado debiera ser similar a lo anterior sólo que ahora veríamos como se ejecuta en chrome.

Por último vamos con safari, para este, basta con ir a la página de descargas de selenium que es esta y buscamos la sección “SafariDriver” y damos click en el enlace de la última versión, lo cual nos descargará un archivo que será una extensión de safari, lo abrimos con el navegador safari y le damos aceptar al dialogo, una vez hecho esto, cambiamos la misma linea que la vez anterior de nuestro script, pero en vez de colocar “chrome”, colocamos “safari”, corremos el script y de nuevo, el resultado será similar.

Pues bueno, esto es todo por hoy, espero y les sea de utilidad, ahora lo único que necesitarán hacer es incluir estos scripts a su herramienta de automatización de pruebas y listo, adiós a la tediosa pero necesaria tarea de hacer pruebas de nuestra app web. Sin más por el momento me despido y que la pasen genial.

Saludos.

 

Leave a Reply

Your email address will not be published. Required fields are marked *