Selenium Webdriver con Python: Tutorial con ejemplo

Tabla de contenido:

Anonim

Selenium es compatible con Python y, por lo tanto, se puede utilizar como Selenium WebDriver con Python para realizar pruebas.

  • Python es fácil en comparación con otros lenguajes de programación, ya que tiene mucho menos detalle.
  • Las API de Python le permiten conectarse con el navegador a través de Selenium.
  • Selenium envía los comandos estándar de Python a diferentes navegadores, a pesar de la variación en el diseño de su navegador.

Puede ejecutar Selenium con scripts de Python para Firefox, Chrome, IE, etc. en diferentes sistemas operativos.

En este tutorial de Selenium Python, aprenderá:

  • ¿Qué es Python?
  • ¿Qué es el selenio?
  • Por qué elegir Python sobre Java en Selenium
  • Cómo instalar y configurar PyDev en Eclipse
  • Cómo crear scripts de prueba en Selenium con Python

¿Qué es Python?

Python es un lenguaje de scripting orientado a objetos de alto nivel. Está diseñado de manera fácil de usar. Python usa palabras clave simples en inglés, que son fáciles de interpretar. Tiene menos complicaciones de sintaxis que cualquier otro lenguaje de programación.

Vea algunos de los ejemplos en la tabla siguiente.

Palabra clave Sentido Uso
elif De lo contrario si De lo contrario si
demás Demás si: X; elif: Y; más: J
excepto haz esto, si ocurre una excepción, excepto ValueError, a: imprime un
ejecutivo Ejecutar cadena como Python ejecutivo 'imprime "¡hola mundo!"'

¿Qué es el selenio?

El selenio es una herramienta para probar su aplicación web. Puede hacer esto de varias formas, por ejemplo

  • Permítale tocar los botones
  • Ingresar contenido en estructuras
  • Hojee su sitio para comprobar si todo está "OK" y así sucesivamente.

Por qué elegir Python sobre Java en Selenium

Algunos puntos que favorecen a Python sobre Java para usar con Selenium son,

  1. Los programas de Java tienden a ejecutarse más lentamente en comparación con los programas de Python.
  2. Java usa llaves tradicionales para comenzar y terminar bloques, mientras que Python usa sangría.
  3. Java emplea tipado estático, mientras que Python se tipea dinámicamente.
  4. Python es más simple y compacto en comparación con Java.

Cómo instalar y configurar PyDev en Eclipse

PyDev es un entorno de desarrollo de Python para Eclipse.

Paso 1) Llegué a Eclipse Marketplace. Ayuda> Instalar nuevo software

El siguiente paso es instalar "pydev IDE" para eclipse.

Paso 2) En este paso,

  1. Busque "http://pydev.org/updates" en Trabajar con y luego
  2. Seleccione todos los elementos enumerados y haga clic en Siguiente dos veces
  3. Acepte el Acuerdo de licencia y haga clic en Finalizar.

Paso 3) Puede encontrar una advertencia de seguridad, haga clic en "Instalar de todos modos".

Paso 4) Ahora , en este paso establecerá preferencias. Con la ayuda de la opción de preferencia, puede usar Python según las necesidades del proyecto.

Vaya a Ventana> Preferencias> PyDev> Intérprete> Intérprete de Python.

Establezcamos el intérprete de Python predeterminado. Es como si necesitara configurar el compilador Java para ejecutar un código Java. Para cambiar el nombre del intérprete, haga clic en Buscar botón python / pypy exe.

Paso 5) En este paso, proporcione el "nombre del intérprete" y la ruta del archivo "exe" de Python.

  1. Haga clic en 'Examinar' y busque python.exe donde instaló Python.
  2. Haga clic en el botón "Aceptar".
  3. Seleccione toda la carpeta y haga clic en Aceptar
  4. Haga clic en "Aplicar y cerrar".

Paso 6) Cree un nuevo proyecto en Python. En este paso,

  1. Haga clic con el botón derecho en Explorador de paquetes PyDev> Nuevo.
  2. Seleccione la opción otros.

  1. Seleccione "PyDev> Proyecto PyDev".
  2. Presione el botón 'Siguiente'.

  1. Nombra tu proyecto
  2. Haga clic en "Finalizar".

Puede ver que se crea el nuevo proyecto de Python (PyDev).

Paso 7) En este paso,

Después de crear el 'Proyecto PyDev', creará un nuevo paquete de Python.

  1. Haga clic derecho en Proyecto> Nuevo> Paquete PyDev.
  2. Ponle un nombre a tu paquete y haz clic en Finalizar.

Paso 8) Si ve en la captura de pantalla a continuación, se crea un nuevo paquete.

Después de crear un nuevo paquete, el siguiente paso es crear el módulo PyDev. El módulo contiene algunos archivos de Python para inicialización. Estos archivos o funciones del módulo se pueden importar a otro módulo. Por lo tanto, no será necesario volver a escribir el programa.

Paso 9) Cree un nuevo módulo PyDev. Haga clic derecho en paquete> Nuevo> Módulo PyDev.

Ponle un nombre a tu módulo y haz clic en "Finalizar".

Seleccione Plantilla vacía y haga clic en "Aceptar".

Paso 10) Escriba su código para Selenium con Python como se muestra a continuación

Cómo crear scripts de prueba en Selenium con Python

En este ejemplo de Selenium WebDriver con Python, hicimos la automatización para la "página de inicio de sesión de Facebook" utilizando el controlador de Firefox.

Ejemplo 1 de Selenium Python: Iniciar sesión en Facebook

desde el controlador web de importación de seleniode selenium.webdriver.common.keys importar clavesuser_name = "SU CORREO ELECTRÓNICO"contraseña = "SU CONTRASEÑA"controlador = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("correo electrónico")element.send_keys (nombre_usuario)element = driver.find_element_by_id ("pasar")element.send_keys (contraseña)element.send_keys (Keys.RETURN)element.close ()

Instantánea del Código

Explicación del código

  • Línea de código 1 : desde el módulo de selenium import webdriver
  • Línea de código 2 : Desde claves de importación del módulo de selenio
  • Línea de código 3 : Usuario es una variable que usaremos para almacenar valores de nombre de usuario.
  • Línea de código 4 : Se utilizará la variable "contraseña" para almacenar los valores de la contraseña.
  • Línea de código 5 : En esta línea, estamos inicializando "FireFox" convirtiéndolo en un objeto.
  • Línea de código 6 : El "método driver.get" navegará a una página proporcionada por la URL. WebDriver esperará hasta que la página se haya cargado por completo (es decir, la ocasión de "carga" haya desaparecido) antes de devolver el control a su prueba o script.
  • Línea de código 7 : En esta línea, estamos encontrando el elemento del cuadro de texto donde se debe escribir el "correo electrónico".
  • Línea de código 8 : ahora estamos enviando los valores a la sección de correo electrónico
  • Línea de código 9 : Lo mismo para la contraseña
  • Línea de código 10 : Envío de valores a la sección de contraseña
  • Línea de código 11 : element.send_keys (Keys.RETURN) se usa para presionar enter después de insertar los valores
  • Línea de código 12 : Cerrar

PRODUCCIÓN

Los valores del nombre de usuario "guru99" y la contraseña ingresados.

La página de Facebook iniciará sesión con correo electrónico y contraseña. Página abierta (ver imagen a continuación)

EJEMPLO 2: Inicie sesión en Facebook y verifique el título

En este ejemplo,

  • Abriremos una página de inicio de sesión.
  • Complete el campo requerido "nombre de usuario" y "contraseña".
  • Comprobar el título de la página
desde el controlador web de importación de seleniodesde selenium.webdriver.support.ui importar WebDriverWait# Paso 1) Abre Firefoxnavegador = webdriver.Firefox ()# Paso 2) Navega a Facebookbrowser.get ("http://www.facebook.com")# Paso 3) Busque e ingrese el campo de correo electrónico o teléfono e ingrese la contraseñausername = browser.find_element_by_id ("correo electrónico")contraseña = browser.find_element_by_id ("pasar")enviar = browser.find_element_by_id ("botón de inicio de sesión")username.send_keys ("SU CORREO ELECTRÓNICO")password.send_keys ("SU CONTRASEÑA")# Paso 4) Haga clic en Iniciar sesiónsubmit.click ()esperar = WebDriverWait (navegador, 5)page_title = browser.titleafirmar page_title == "Facebook"

Instantánea del código

Explicación del código:

  • Línea de código 1-2: Importar paquetes de selenio
  • Línea de código 4: inicialice Firefox creando un objeto
  • Línea de código 6: Obtener página de inicio de sesión (Facebook)
  • Línea de código 8-10: Obtener nombre de usuario, cuadros de entrada de contraseña y botón de envío.
  • Línea de código 11-12: ingrese los datos en los cuadros de entrada de nombre de usuario y contraseña
  • Línea de código 14: haga clic en el botón "Enviar"
  • Línea de código 15: Cree un objeto de espera con un tiempo de espera de 5 segundos.
  • Línea de código 16: capturando el título del objeto "navegador".
  • Línea de código 17: prueba de la cadena de título capturada con "Facebook"

Resumen :

  • Selenium es una herramienta de automatización basada en web de código abierto.
  • El lenguaje Python se usa con Selenium para realizar pruebas. Es mucho menos detallado y fácil de usar que cualquier otro lenguaje de programación.
  • Las API de Python le permiten conectarse con el navegador a través de Selenium
  • Selenium puede enviar los comandos estándar de Python a diferentes navegadores, a pesar de la variación en el diseño de su navegador.