comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Automatizacion Selenium IDE + Python

  • 1 Respuestas
  • 2559 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5409
  • Actividad:
    20%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Marzo 27, 2012, 08:48:07 am »

Introducción
Selenium IDE es un complemento de Firefox utilizado para automatizar y hacer pruebas sobre aplicaciones web.
Para ello, realiza una grabación de determinadas acciones que luego las convierte en un script editable. Lo más cómodo, es que luego este script se puede ejecutar tantas veces como se quiera.
La función principal de este plugin es poder hacer testing funcional de las aplicaciones. Permite rellenar formularios, navegar por webs, etc.
Esta herramienta permite ahorrar mucho tiempo y esfuerzo. Para ello permite automatizar pruebas que puede ser una prueba en particular o conjunto de pruebas.

Instalación
Solo basta con ir a http://seleniumhq.org/download/ y descargar Selenium IDE.


Nos aparecerá el cartel para instalar el complemento y solo damos en permitir


Y comenzara a descargarlo…


Una vez descargado, lo instalamos


Una vez instalado, nos pedirá que reiniciemos el browser


Y con esto ya quedara instalado. Podremos encontrar Selenium en el menú de Herramientas del navegador



A demás de esto, necesitaremos instalar python y la librería de selenium para python (en mi caso)
Python: http://python.org/download
Librería de Selenium: http://pypi.python.org/pypi/selenium
Una vez instalado python, copiamos las librerías de Selenium dentro de la carpeta de las librerías (C:\Python27\Lib).


Primeros pasos con Selenium

Abrimos el navegador, yo usare firefox. Iniciamos Selenium IDE


Apenas lo abrimos, comenzamos a navegar normalmente y Selenium grabara todos los pasos que hagamos.
Mis pasos son los siguientes:
  • Google
  • ANTRAX-LABS
  • Boton Buscar
  • Click en el link de mi blog

Como se puede ver, Ya estoy en mi blog y Selenium grabo todos mis pasos


Ahora lo que hare, sera comprobar un enlace de mi blog, para ello, con el botón secundario del mouse, dare click en un enlace de mi blog y seleccionare “verifyElementPresent…”


Como se puede ver en la imagen, han quedado grabados todos los pasos que hice.


Ahora se puede exportar el script de automatización a cualquiera de los lenguajes que se ven en la imagen. Yo trabajare con Python.


Guardamos el script con su extensión correspondiente


Código: Python
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.common.exceptions import NoSuchElementException
  4. import unittest, time, re
  5.  
  6. class TestAntraxLabs(unittest.TestCase):
  7.     def setUp(self):
  8.         self.driver = webdriver.Firefox()
  9.         self.driver.implicitly_wait(30)
  10.         self.base_url = "http://www.google.com.ar/"
  11.         self.verificationErrors = []
  12.      
  13.     def test_antrax_labs(self):
  14.         driver = self.driver
  15.         driver.get("/")
  16.         driver.find_element_by_id("lst-ib").click()
  17.         driver.find_element_by_id("lst-ib").clear()
  18.         driver.find_element_by_id("lst-ib").send_keys("antrax-labs")
  19.         driver.find_element_by_name("btnG").click()
  20.         driver.find_element_by_link_text("[A]NTRAX [L]ABS").click()
  21.         try: self.assertTrue(self.is_element_present(By.LINK_TEXT, "Seguridad Wireless"))
  22.         except AssertionError as e: self.verificationErrors.append(str(e))
  23.      
  24.     def is_element_present(self, how, what):
  25.         try: self.driver.find_element(by=how, value=what)
  26.         except NoSuchElementException, e: return False
  27.         return True
  28.      
  29.     def tearDown(self):
  30.         self.driver.quit()
  31.         self.assertEqual([], self.verificationErrors)
  32.  
  33. if __name__ == "__main__":
  34.     unittest.main()

Y como resultado tendremos el script, que puede ser editable para añadir o modificar funciones


Código: Python
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.common.exceptions import NoSuchElementException
  4. import unittest, time, re
  5.  
  6. class TestAntraxLabs(unittest.TestCase):
  7.     def setUp(self):
  8.         self.driver = webdriver.Firefox()
  9.         self.driver.implicitly_wait(30)
  10.         self.base_url = "http://www.google.com.ar/"
  11.         self.verificationErrors = []
  12.      
  13.     def test_antrax_labs(self):
  14.         driver = self.driver
  15.         driver.get(self.base_url)
  16.         driver.find_element_by_id("lst-ib").click()
  17.         driver.find_element_by_id("lst-ib").clear()
  18.         driver.find_element_by_id("lst-ib").send_keys("antrax-labs")
  19.         driver.find_element_by_name("btnG").click()
  20.         driver.find_element_by_link_text("[A]NTRAX [L]ABS").click()
  21.         try: self.assertTrue(self.is_element_present(By.LINK_TEXT, "Seguridad Wireless"))
  22.         except AssertionError as e: self.verificationErrors.append(str(e))
  23.      
  24.     def is_element_present(self, how, what):
  25.         try: self.driver.find_element(by=how, value=what)
  26.         except NoSuchElementException, e: return False
  27.         return True
  28.      
  29.     def tearDown(self):
  30.         self.driver.quit()
  31.         self.assertEqual([], self.verificationErrors)
  32.  
  33. if __name__ == "__main__":
  34.     unittest.main()

Lo que hice acá, fue un ligero cambio. Reemplace la barra por la variable que contiene la url inicial, en mi caso la de google.


Si corremos el Script, se nos abrirá el navegador y automáticamente comenzara a navegar y a seguir los pasos que dejamos grabados.


Al finalizar, lanza un mensaje diciendo si paso o no la prueba. En mi caso busco y abrió mi blog correctamente y pudo verificar el enlace, en por eso que me dio el OK.
En caso de no pasar, tirara un mensaje de error.
Lo bueno de Selenium es que se puede trabajar en varios lenguajes y que sus scripts exportados son editables.

Saludos!

ANTRAX
« Última modificación: Febrero 26, 2013, 02:19:02 pm por ANTRAX »


Desconectado fortil

  • *
  • Underc0der
  • Mensajes: 175
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Marzo 29, 2012, 11:00:15 am »
EXCELENTE

 

¿Te gustó el post? COMPARTILO!



Inventa tus propios juegos de computadora con Python, 3ra Edición – Albert Sweig

Iniciado por graphixx

Respuestas: 0
Vistas: 909
Último mensaje Enero 13, 2016, 09:04:47 pm
por graphixx
[PDF] Python para todos - Raúl González Duque

Iniciado por graphixx

Respuestas: 2
Vistas: 1840
Último mensaje Septiembre 10, 2016, 06:03:35 pm
por graphixx
[LIBRO] Automate the Boring Stuff with Python

Iniciado por ZanGetsu

Respuestas: 0
Vistas: 856
Último mensaje Noviembre 21, 2016, 11:18:04 am
por ZanGetsu
[PDF] Learning Python Fourth Edition

Iniciado por graphixx

Respuestas: 0
Vistas: 548
Último mensaje Febrero 27, 2018, 12:17:21 am
por graphixx
[PDF] Algoritmos y programación con lenguaje Python

Iniciado por graphixx

Respuestas: 0
Vistas: 1417
Último mensaje Enero 13, 2016, 09:24:16 pm
por graphixx