CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
Test Automation using seleniun webdrive.pdf
1. Luis Ruiz Caceres
Test Automation using
Selenium WebDriver &
Grid
Selenium 4
Instructor:
LUIS RUIZ
lruiz@galaxy.edu.pe
SOFTWARE QA
AUTOMATION
TESTER
2. Criterios de evaluación
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
Test Automation using Selenium WebDriver & Grid
3. Introducción a Selenium Webdriver
Introducción teórica de Selenium WebDriver
Configuración de dependencias del proyecto con Maven
Practica: configuración de WebDriver con Firefox, Chrome, Edge
WebDriverManager para ejecución de pruebas con WebDriver
Selenium Suite
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
5. Selenium Suite
Selenium es una suite de código abierto compuesta por un conjunto de librerías y herramientas que permiten la
automatización de navegadores web.
Jason Huggins y Paul Hammant crearon Selenium en 2004 mientras trabajaban en Thoughtworks y la primera versión fue
desarrollada en Javascript.
Selenium WebDriver Selenium IDE Selenium Grid
Plugin para Chrome y Firefox que
grabará y reproducirá de forma sencilla
las interacciones con el navegador
(scripts) para ejecutarlas de manera
rápida.
Permite controlar un navegador de
forma nativa como lo haría un usuario,
ya sea localmente o en una máquina
remota utilizando Remote Web Driver.
Permite administrar múltiples entornos
desde un punto central, lo que facilita la
ejecución de las pruebas en una amplia
combinación de navegadores, sistemas
operativos.
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
6. Introducción teórica de Selenium WebDriver
WebDriver maneja el navegador de forma nativa, como lo haría un usuario ya sea localmente o en una máquina remota utilizando el
servidor de Selenium, esto es un salto importante en términos de automatización desde el navegador, Selenium WebDriver es una
recomendación del W3C
• Controla el flujo ejecución del caso de pruebas.
• Permita agrupar los casos de pruebas en grupos separados.
• Priorización de los casos de pruebas.
• Permite parametrizar las pruebas.
• Permite la lectura de archivos con data para cada caso de prueba.
• Ejecución en paralelo de las pruebas para optimizar el tiempo de
ejecución.
• Permite la generación de archivos de texto en “Logs” para revisar
ciertas incidencias.
• Permite la generación de archivos después de la ejecución de las
pruebas(reportes)
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
7. Introducción teórica de Selenium WebDriver
Arquitectura Selenium WebDriver
Ventajas
• Open Source
• Language Support
• Test Across device
• Constant updates
• Easy of implementation
• Reusability and Add-ons
• Support Across Browsers
• Support Operative Systems
• Support for programming languages and framework
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
8. Configuración de dependencias del proyecto con Maven
El diseño de la estructura del proyecto utilizada para almacenar los diferentes activos de un
proyecto de software como código fuente, archivos binarios, recursos estáticos, archivos de
configuración, etc.
Dependencies: Las dependencias de un proyecto de software son las bibliotecas o
complementos necesarios, las herramientas de compilación permiten la gestión
automatizada de las dependencias del proyecto.
groupId
Organización, empresa, persona, etc., que creó el proyecto.
artifactId
Nombre único que identifica el proyecto.
version
Lanzamiento de un proyecto, de manera predeterminada se recomiendo que use la
última versión de proyecto.
POM Reference
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
9. Configuración de dependencias del proyecto con Maven
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.12.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.8.0</version>
<scope>test</scope>
</dependency>
Maven Reference
Apache Maven es una herramienta que estandariza la configuración de un proyecto en todo su ciclo de vida, por ejemplo, en la fase
de compilación, empaquetado y la instalación de mecanismos de distribución de librerías, para que puedan ser utilizadas por otros
desarrolladores y equipos de desarrollo.
También contempla temas relacionados con la integración continua, para poder realizar la ejecución de Unit Tests, Automated Tests,
Integration Tests.
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
10. Práctica
Descripción de la jerarquía de WebDriver
Jerarquía del objeto WebDriver
Package Class Browser
org.openqa.selenium.chrome
org.openqa.selenium.edge
org.openqa.selenium.firefox
org.openqa.selenium.safari
org.openqa.selenium.opera
org.openqa.selenium.ie
org.openqa.selenium.remote
ChromeDriver
EdgeDriver
FirefoxDriver
SafariDriver
OperaDriver
InternetExplorerDriver
RemoteWebDriver
Chrome
Edge
Firefox
Safari
Opera
Internet Explorer
Remote browsers
Interface WebDriver
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
11. Práctica
Browser Supported OS Maintained by Download
Issue
Tracker
Chromium/Chrome Windows/macOS/Linux Google Downloads Issues
Firefox Windows/macOS/Linux Mozilla Downloads Issues
Edge Windows 10 Microsoft Downloads Issues
Internet Explorer Windows Selenium Project Downloads Issues
Safari macOS El Capitan and newer Apple Built in Issues
Opera Windows/macOS/Linux Opera Downloads Issues
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz
12. Method Return Description
get(String url) void Carga una página web en el navegador actual.
getCurrentUrl() String Obtener la URL cargada actualmente en el navegador.
getTitle() String Obtener el título (etiqueta HTML <title>) de la página web actual.
findElement(By by) WebElement Encuentra el primer elemento web con un localizador dado en la página web actual.
findElements(By by) List<WebElements> Encuentra todos los elementos web que utilizan un localizador dado en la página web actual.
getPageSource() String Obtener el código fuente HTML de la página web actual.
navigate() Navigation Accede al historial del navegador y navegar hasta una URL determinada.
getWindowHandle() String Obtiene un identificador único para la ventana abierta en la navegación actual.
getWindowHandles() Set<String> Obtiene el conjunto de identificadores de ventana actualmente abiertos en el navegador actual.
switchTo() TargetLocator Cambia el enfoque a un iframe o popup en el navegador actual.
manage() Options
Utilidad genérica para gestionar diferentes aspectos del navegador como
tamaño y posición del navegador, cookies, tiempos de espera.
close() void Cierra la ventana actual, y sale del navegador si no hay más ventanas abiertas.
quit() void Cierra toda las ventanas y sale del navegador.
Course: Test Automation using Selenium WebDriver & Grid Trainer: Luis Ruiz