Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivos:
2. Marco teórico:
Página 1 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
2.3. Selenium
Selenium es un conjunto de herramientas para automatizar los
navegadores web atreves de muchas plataformas [3].
Página 2 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
3. Desarrollo de la práctica:
Página 3 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
3.4. Selenium
Página 4 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 5 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Figura 1
A continuación vamos a abrir eclipse luna nuestro IDE de desarrollo de java como se
muestra en la Figura 2
Figura 2
Página 6 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Una vez abierto eclipse levantamos tomcat y corremos el proyecto que está cargado
dentro del IDE eclipse como se muestra en la figura 3.
Figura 3
Una vez abierto el navegador en el que se corrió la aplicación web que se corrió dentro
de tomcat vamos a abrir el complemento que está activado en Firefox que se
encuentra en la esquina superior izquierda como se muestra en la Figura 4.
Figura 4
Página 7 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Figura 5
Figura 6
Página 8 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Figura 7
Figura 8
Página 9 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
F
igura 9
Una vez copiados los archivo los añadimos al building path dando clic derecho sobre
ellos y a continuación add building path una vez echo esto aparecerán en la carpeta
librerías referenciadas como se muestra en la Figura 10
Figura 10
Página 10 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Una vez realizado realizado estos vamos a importar el archivo.java que creamos en
previamente, los moveremos a nuestro proyecto y finalmente lo corremos como un
Junit test como se muestra en la Figura 11
Figura 11
Figura 12
Página 11 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Una vez estemos en el directorio vamos ejecutar el siguiente comando desde consola
como se muestra en la figura 13
Figura 13
Lo siguiente que vamos a hacer es abrir nuestro navegador preferido y abrir el servidor
en el puerto 8888 como se muestra en la figura 14
Figura 14
Página 12 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Figura 15
Figura 16
Página 13 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Figura 17
Figura 18
Página 14 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Una vez configurado adecuadamente los parámetros deberíamos de tener una prueba
como la mostrada en la Figura 19
Figura 19
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://localhost:8080/";
Página 15 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
driver.manage().timeouts().implicitlyWait(30,
TimeUnit.SECONDS);
}
@Test
public void testCasoJunit() throws Exception {
driver.get(baseUrl + "/ProyectoJSP2/");
driver.findElement(By.name("txtUsuario")).clear();
driver.findElement(By.name("txtUsuario")).sendKeys("admin");
driver.findElement(By.name("txtClave")).clear();
driver.findElement(By.name("txtClave")).sendKeys("admin");
//Agregando el parametro para numero unico
driver.findElement(By.name("txtNumeroUnico")).clear();
driver.findElement(By.name("txtNumeroUnico")).sendKeys("12345")
;
//Agregando el parametro para numero unico
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.name("solicitud")).clear();
driver.findElement(By.name("solicitud")).sendKeys("1");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
Página 16 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444,
"*chrome", "http://localhost:8080/");
selenium.start();
}
@Test
public void testCasoJunit2() throws Exception {
selenium.open("/ProyectoJSP2/");
selenium.type("name=txtUsuario", "admin");
selenium.type("name=txtClave", "admin");
Página 17 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
selenium.click("css=input[type=\"submit\"]");
selenium.waitForPageToLoad("30000");
selenium.type("name=solicitud", "1");
selenium.click("css=input[type=\"submit\"]");
selenium.waitForPageToLoad("30000");
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
4. Análisis de resultados:
Se logró con éxito entender la importancia que tienen las pruebas de aceptación y
regresión dentro del desarrollo de software ya que estos pueden denotar si de verdad
se alcanzaron a cumplir con los requerimientos del usuario y además puede darnos
una retroalimentación sobre los cambios que se hicieron dentro del producto de
software y mejorarlo
5. Conclusiones y recomendaciones:
Se necesitaba más tiempo para poder terminar todo el laboratorio con más
calma que con la que se la realizo.
Página 18 de 19
ESTEBAN LEONARDO PEREZ HERRERA
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
6. Bibliografía:
[1] I. Sommerville, «Ingeniería del software,» Madrid, España, PERSON EDUCACION S.A., 2006.
7. ANEXOS
Página 19 de 19
ESTEBAN LEONARDO PEREZ HERRERA