Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sdi.tests.Tests;
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertTrue;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.concurrent.TimeUnit;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.FixMethodOrder;
- import org.junit.Test;
- import org.junit.runners.MethodSorters;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.firefox.FirefoxBinary;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.openqa.selenium.firefox.FirefoxProfile;
- import com.sdi.tests.pageobjects.LoginForm;
- import com.sdi.tests.pageobjects.RegisterForm;
- import com.sdi.tests.pageobjects.TareaForm;
- import com.sdi.tests.utils.SeleniumUtils;
- //Ordenamos las pruebas por el nombre del método
- @FixMethodOrder(MethodSorters.NAME_ASCENDING)
- public class PlantillaSDI2_Tests1617 {
- private static final String URL = "http://localhost:8280/sdi2-11/";
- static WebDriver driver = getDriver();
- List<WebElement> elementos = null;
- private static LoginForm login = new LoginForm();
- private static RegisterForm register = new RegisterForm();
- private static TareaForm tareaForm = new TareaForm();
- public static WebDriver getDriver() {
- File pathToBinary = new File("S:\\firefox\\FirefoxPortable.exe");
- FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
- FirefoxProfile firefoxProfile = new FirefoxProfile();
- driver = new FirefoxDriver(ffBinary,firefoxProfile);
- return driver;
- }
- public PlantillaSDI2_Tests1617()
- {
- }
- @Before
- public void setUp(){
- driver.navigate().to(URL);
- }
- @After
- public void tearDown(){
- driver.manage().deleteAllCookies();
- }
- //PRUEBAS
- //ADMINISTRADOR
- //PR01: Autentificar correctamente al administrador.
- @Test
- public void prueba01() {
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 5);
- }
- //PR02: Fallo en la autenticación del administrador por introducir mal el login.
- @Test
- public void prueba02() {
- login.rellenaFormulario(driver, "administrado","administrador1");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Credenciales no válidas o cuenta deshabilitada", 5);
- }
- //PR03: Fallo en la autenticación del administrador por introducir mal la password.
- @Test
- public void prueba03() {
- login.rellenaFormulario(driver, "administrador1","administrador11");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Credenciales no válidas o cuenta deshabilitada", 5);
- }
- //PR04: Probar que la base de datos contiene los datos insertados con conexión correcta a la base de datos.
- //@Test
- public void prueba04() {
- assertTrue(false);
- }
- //PR05: Visualizar correctamente la lista de usuarios normales.
- //@Test
- public void prueba05() {
- assertTrue(false);
- }
- //PR06: Cambiar el estado de un usuario de ENABLED a DISABLED. Y tratar de entrar con el usuario que se desactivado.
- @Test
- public void prueba06() {
- driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- By enlace = By.xpath("//td[contains(text(), 'usuario1@mail.es')]/following-sibling::*/button[contains(@id, 'btnEnable')]");
- driver.findElement(enlace).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "mensajes", 10);
- SeleniumUtils.textoPresentePagina(driver,
- "El usuario ha pasado a estar desactivado");
- By boton = By.id("form-pie:linkCerrar");
- driver.findElement(boton).click();
- login.rellenaFormulario(driver, "user1","user1");
- SeleniumUtils.textoPresentePagina(driver,
- "Credenciales no válidas o cuenta deshabilitada");
- }
- //PR07: Cambiar el estado de un usuario a DISABLED a ENABLED. Y Y tratar de entrar con el usuario que se ha activado.
- @Test
- public void prueba07() {
- driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- By enlace = By.xpath("//td[contains(text(), 'usuario1@mail.es')]/following-sibling::*/button[contains(@id, 'btnEnable')]");
- driver.findElement(enlace).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "mensajes", 10);
- SeleniumUtils.textoPresentePagina(driver,
- "El usuario ha pasado a estar activado");
- By boton = By.id("form-pie:linkCerrar");
- driver.findElement(boton).click();
- login.rellenaFormulario(driver, "user1","user1");
- SeleniumUtils.textoPresentePagina(driver,
- "Por favor, seleccione una de las opciones en el menú");
- }
- //PR08: Ordenar por Login
- @Test
- public void prueba08() throws InterruptedException {
- driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- elementos = SeleniumUtils.EsperaCargaPagina(driver,
- "class", "ui-sortable-column-icon", 5);
- List<WebElement> elementosAux = new ArrayList<WebElement>();
- elementosAux = elementos;
- elementos.get(1).click();
- Thread.sleep(500);
- elementos.get(1).click();//Login
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "user", 5);
- assertEquals("user3",
- elementos.get(0).getText());
- assertEquals("user2",
- elementos.get(1).getText());
- assertEquals("user1",
- elementos.get(2).getText());
- elementosAux.get(1).click(); //Login
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "user", 5);
- assertEquals("user1",
- elementos.get(0).getText());
- assertEquals("user2",
- elementos.get(1).getText());
- assertEquals("user3",
- elementos.get(2).getText());
- }
- //PR09: Ordenar por Email
- @Test
- public void prueba09() throws InterruptedException {
- driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- elementos = SeleniumUtils.EsperaCargaPagina(driver,
- "class", "ui-sortable-column-icon", 5);
- List<WebElement> elementosAux = new ArrayList<WebElement>();
- elementosAux = elementos;
- elementos.get(0).click(); //mail
- Thread.sleep(500);
- elementos.get(0).click();
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "@mail.es", 5);
- assertEquals("usuario3@mail.es",
- elementos.get(0).getText());
- assertEquals("usuario2@mail.es",
- elementos.get(1).getText());
- assertEquals("usuario1@mail.es",
- elementos.get(2).getText());
- elementosAux.get(0).click(); //mail
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "@mail.es", 5);
- assertEquals("usuario1@mail.es",
- elementos.get(0).getText());
- assertEquals("usuario2@mail.es",
- elementos.get(1).getText());
- assertEquals("usuario3@mail.es",
- elementos.get(2).getText());
- }
- //PR10: Ordenar por Status
- @Test
- public void prueba10() throws InterruptedException {
- driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- elementos = SeleniumUtils.EsperaCargaPagina(driver,
- "class", "ui-sortable-column-icon", 5);
- List<WebElement> elementosAux = new ArrayList<WebElement>();
- elementosAux = elementos;
- elementos.get(2).click(); //status
- Thread.sleep(500);
- elementos.get(2).click();
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "ABLED", 5);
- assertEquals("ENABLED",
- elementos.get(0).getText());
- assertEquals("ENABLED",
- elementos.get(1).getText());
- assertEquals("ENABLED",
- elementos.get(2).getText());
- elementosAux.get(2).click(); //status
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "ABLED", 5);
- assertEquals("ENABLED",
- elementos.get(0).getText());
- assertEquals("ENABLED",
- elementos.get(1).getText());
- assertEquals("ENABLED",
- elementos.get(2).getText());
- }
- //PR11: Borrar una cuenta de usuario normal y datos relacionados.
- @Test
- public void prueba11() throws InterruptedException {
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- SeleniumUtils.EsperaCargaPagina(driver, "id", "listado_usuarios", 10);
- By enlace = By.xpath("//td[contains(text(), 'usuario3@mail.es')]/following-sibling::*/button[contains(@id, 'btnDelete')]");
- driver.findElement(enlace).click();
- Thread.sleep(1000);
- driver.findElement(By.id("listado_usuarios:confirmar-borrado")).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id", "mensajes", 10);
- SeleniumUtils.textoPresentePagina(driver, "Se ha borrado el usuario");
- SeleniumUtils.textoNoPresentePagina(driver, "user3");
- SeleniumUtils.textoNoPresentePagina(driver, "usuario3@mail.es");
- }
- //PR12: Crear una cuenta de usuario normal con datos válidos.
- @Test
- public void prueba12() {
- //SeleniumUtils.EsperaCargaPagina(driver, "id", "form-login", 10);
- By boton = By.id("form-login:registeruser");
- driver.findElement(boton).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id", "form-registro", 5);
- register.rellenaFormulario(driver,
- "User100","usuario90@gmail.com", "Usuario90", "Usuario90");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "mensajes", 10);
- SeleniumUtils.textoPresentePagina(driver,
- "Se ha registrado correctamente");
- }
- //PR13: Crear una cuenta de usuario normal con login repetido.
- @Test
- public void prueba13() {
- By boton = By.id("form-login:registeruser");
- driver.findElement(boton).click();
- register.rellenaFormulario(driver, "User100","usuario90@gmail.com", "Usuario90", "Usuario90");
- SeleniumUtils.EsperaCargaPagina(driver, "text", "The login is already used", 10);
- }
- //PR14: Crear una cuenta de usuario normal con Email incorrecto.
- @Test
- public void prueba14() {
- By boton = By.id("form-login:registeruser");
- driver.findElement(boton).click();
- register.rellenaFormulario(driver, "User101","lalala", "Usuario90", "Usuario90");
- SeleniumUtils.EsperaCargaPagina(driver, "text", "Not a valid email", 10);
- }
- //PR15: Crear una cuenta de usuario normal con Password incorrecta.
- @Test
- public void prueba15() throws InterruptedException {
- By boton = By.id("form-login:registeruser");
- driver.findElement(boton).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "form-registro:btnRegistro", 10);
- register.rellenaFormulario(driver,
- "User101","usuario90@gmail.com", "123456789", "123456789");
- SeleniumUtils.textoPresentePagina(driver,
- "Not a valid password, must contain letters and numbers");
- Thread.sleep(500);
- register.rellenaFormulario(driver,
- "User101","usuario90@gmail.com", "abcdefghijk", "abcdefghij");
- SeleniumUtils.textoPresentePagina(driver,
- "Not a valid password, must contain letters and numbers");
- Thread.sleep(500);
- register.rellenaFormulario(driver,
- "User101","usuario90@gmail.com", "abc1", "abc1");
- SeleniumUtils.textoPresentePagina(driver,
- "The password must be at least 8 chars long");
- }
- //USUARIO
- //PR16: Comprobar que en Inbox sólo aparecen listadas las tareas sin categoría
- //y que son las que tienen que ser.
- //Usar paginación navegando por las tres páginas.
- @Test
- public void prueba16() throws InterruptedException {
- irTareas("user1", "user1");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 3");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 4");
- WebElement paginator = SeleniumUtils
- .EsperaCargaPagina(driver, "class", "ui-paginator-next", 2)
- .get(0);
- paginator.click();
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Tarea siguientes 6 dias 1 - Dia 1", 10);
- SeleniumUtils.textoPresentePagina(driver,
- "Tarea siguientes 6 dias 1 - Dia 1");
- SeleniumUtils.textoPresentePagina(driver,
- "Tarea siguientes 6 dias 2 - Dia 1");
- SeleniumUtils.textoPresentePagina(driver,
- "Tarea siguientes 6 dias 3 - Dia 2");
- paginator.click();
- SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 5);
- SeleniumUtils.textoPresentePagina(driver,
- "Tarea siguientes 6 dias 10 - Dia 6");
- }
- //PR17: Funcionamiento correcto de la ordenación por fecha planeada.
- @Test
- public void prueba17() throws InterruptedException {
- irTareas("user1", "user1");
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
- assertEquals(elementos.get(0).getText(), "Tarea hoy 1");
- assertEquals(elementos.get(1).getText(), "Tarea de UO244826 y UO244747 1");
- assertEquals(elementos.get(2).getText(), "Tarea hoy 2");
- WebElement paginator =
- SeleniumUtils
- .EsperaCargaPagina(driver, "class", "ui-paginator-next", 2)
- .get(0);
- paginator.click();
- Thread.sleep(1000);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Tarea siguientes", 10);
- assertEquals(elementos.get(0).getText(), "Tarea siguientes 6 dias 1 - Dia 1");
- assertEquals(elementos.get(2).getText(), "Tarea siguientes 6 dias 3 - Dia 2");
- paginator.click();
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 10);
- assertEquals(elementos.get(2).getText(), "Tarea siguientes 6 dias 8 - Dia 4");
- assertEquals(elementos.get(3).getText(), "Tarea de UO244826 y UO244747 38");
- assertEquals(elementos.get(4).getText(), "Tarea siguientes 6 dias 9 - Dia 5");
- }
- //PR18: Funcionamiento correcto del filtrado.
- //@Test
- public void prueba18() throws InterruptedException {
- irTareas("user1", "user1");
- WebElement filtroTitulo = SeleniumUtils.EsperaCargaPagina(driver
- , "class"
- , "ui-column-filter", 2).get(0);
- filtroTitulo.clear();
- filtroTitulo.sendKeys("Tarea hoy 1"); //Filtrando por una sola
- Thread.sleep(500);
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 2");
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 3");
- filtroTitulo.clear();
- filtroTitulo.sendKeys("Tarea hoy"); //Filtrando por comienzo
- SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea hoy", 10);
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 3");
- SeleniumUtils.textoNoPresentePagina(driver
- , "Tarea siguientes 6 dias 1 - Dia 1");
- SeleniumUtils.textoNoPresentePagina(driver
- , "Tarea siguientes 6 dias 3 - Dia 2");
- SeleniumUtils.textoNoPresentePagina(driver
- , "Tarea siguientes 6 dias 4 - Dia 2");
- filtroTitulo.clear();
- filtroTitulo.sendKeys("Tarea siguientes");
- SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea siguientes", 10);
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 2");
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 3");
- SeleniumUtils.textoPresentePagina(driver
- , "Tarea siguientes 6 dias 1 - Dia 1");
- }
- //PR19: Funcionamiento correcto de la ordenación por categoría.
- @Test
- public void prueba19() throws InterruptedException {
- irTareas("user1", "user1");
- driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
- elementos = SeleniumUtils.EsperaCargaPagina(driver,
- "class", "ui-sortable-column-icon", 5);
- elementos.get(1).click(); //Categorías
- //Tarea retrasadas por categoría 3 - 1 (0)
- //Tarea retrasadas por categoría 1 - 1 (2)
- //Tarea retrasadas por categoría 5 - 2 (6)
- //Tarea retrasadas por categoría 9 - 3 (14) La última
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
- assertEquals("Tarea retrasadas por categoría 3 - 1",
- elementos.get(0).getText());
- assertEquals("Tarea retrasadas por categoría 1 - 1",
- elementos.get(2).getText());
- assertEquals("Tarea retrasadas por categoría 5 - 2",
- elementos.get(6).getText());
- assertEquals("Tarea retrasadas por categoría 9 - 3",
- elementos.get(14).getText());
- }
- //PR20: Funcionamiento correcto de la ordenación por fecha planeada.
- @Test
- public void prueba20() throws InterruptedException {
- irTareas("user1", "user1");
- driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
- //Están organizadas de forma predeterminada
- //Tarea retrasadas por categoría 10 - 3 (0) 13/marzo
- //Tarea retrasadas por categoría 9 - 3 (2) 14/marzo
- //Tarea retrasadas por categoría 5 - 2 (8) 16/marzo
- //Tarea retrasadas por categoría 3 - 1 (12) La primera del 17/marzo
- Thread.sleep(500);
- elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
- assertEquals("Tarea retrasadas por categoría 10 - 3",
- elementos.get(0).getText());
- assertEquals("Tarea retrasadas por categoría 9 - 3",
- elementos.get(2).getText());
- assertEquals("Tarea retrasadas por categoría 5 - 2",
- elementos.get(8).getText());
- assertEquals("Tarea retrasadas por categoría 3 - 1",
- elementos.get(12).getText());
- }
- //PR21: Comprobar que las tareas que no están en rojo son las de hoy y además las que deben ser.
- //@Test
- public void prueba21() {
- assertTrue(false);
- }
- //PR22: Comprobar que las tareas retrasadas están en rojo y son las que deben ser.
- //@Test
- public void prueba22() {
- assertTrue(false);
- }
- //PR23: Comprobar que las tareas de hoy y futuras no están en rojo y que son las que deben ser.
- //@Test
- public void prueba23() {
- assertTrue(false);
- }
- //PR24: Funcionamiento correcto de la ordenación por día.
- //@Test
- public void prueba24() {
- assertTrue(false);
- }
- //PR25: Funcionamiento correcto de la ordenación por nombre.
- //@Test
- public void prueba25() {
- assertTrue(false);
- }
- /*PR26: Confirmar una tarea, inhabilitar el filtro de tareas terminadas,
- * ir a la pagina donde está la tarea terminada y comprobar que se muestra.
- */
- @Test
- public void prueba26() throws InterruptedException {
- //Boton: ui-icon ui-icon-plusthick
- String xpathExp = "//*[@id='listado_tareas:tareas-finalizadas']"
- + "//*[contains(text(), 'Tarea hoy 2')]";
- irTareas("user1", "user1");
- SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
- elementos = driver.findElements(
- By.xpath(xpathExp));
- assertTrue(elementos.size() == 0);
- By by = obtenerByEnTablaConTexto("Tarea hoy 2", "menuOpcionesButton");
- driver.findElement(by).click();
- Thread.sleep(500);
- driver.findElement(By.id("listado_tareas:task-datatable:1:btnMarcar")).click();
- Thread.sleep(1000);
- elementos = driver.findElements(
- By.xpath(xpathExp));
- assertTrue(elementos.size() == 1);
- }
- //PR27: Crear una tarea sin categoría y comprobar que se muestra en la lista Inbox.
- @Test
- public void prueba27() throws InterruptedException {
- irAnadirTarea("user1", "user1");
- tareaForm .rellenarFormulario(driver, "Tarea prueba 27", null,
- null, null, null);
- SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
- driver.findElements(
- By.className("ui-paginator-page")).get(2).click();
- Thread.sleep(500);
- SeleniumUtils.textoPresentePagina(driver, "Tarea prueba 27");
- }
- /* PR28: Crear una tarea con categoría categoria1 y
- * fecha planeada Hoy y comprobar que se muestra en la lista Hoy.
- */
- @Test
- public void prueba28() throws InterruptedException {
- irAnadirTarea("user1", "user1");
- tareaForm .rellenarFormulario(driver, "Tarea prueba 27", null,
- null, null, null);
- SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
- driver.findElements(
- By.className("ui-paginator-page")).get(2).click();
- Thread.sleep(500);
- SeleniumUtils.textoPresentePagina(driver, "Tarea prueba 27");
- }
- //PR29: Crear una tarea con categoría categoria1 y fecha planeada posterior a Hoy y comprobar que se muestra en la lista Semana.
- //@Test
- public void prueba29() {
- assertTrue(false);
- }
- //PR30: Editar el nombre, y categoría de una tarea (se le cambia a categoría1)
- // de la lista Inbox y comprobar que las tres pseudolista se refresca correctamente.
- //@Test
- public void prueba30() {
- assertTrue(false);
- }
- //PR31: Editar el nombre, y categoría (Se cambia a sin categoría)
- //de una tarea de la lista Hoy y comprobar que las tres pseudolistas se refrescan correctamente.
- //@Test
- public void prueba31() {
- }
- //PR32: Marcar una tarea como finalizada. Comprobar que desaparece de las tres pseudolistas.
- @Test
- public void prueba32() throws InterruptedException {
- irTareas("user1", "user1");
- String xpathExp = "//*[@id='listado_tareas:tareas-finalizadas']"
- + "//*[contains(text(), 'Tarea hoy 1')]";
- By by = obtenerByEnTablaConTexto("Tarea hoy 1", "menuOpcionesButton");
- driver.findElement(by).click();
- Thread.sleep(500);
- driver.findElement(By.id("listado_tareas:task-datatable:0:btnMarcar")).click();
- Thread.sleep(500);
- elementos = driver.findElements(By.xpath(xpathExp));
- assertTrue(!elementos.isEmpty());//En inbox está, en las demás, no
- //Primefaces no "oculta" el texto por estar en un collapsed, así que
- //hay que buscar que está en la tabla correcta
- driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
- SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea retrasadas", 10);
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
- driver.findElement(By.id("listado_tareas:btnTasksSemana")).click();
- SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea retrasadas", 10);
- SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
- }
- //PR33: Salir de sesión desde cuenta de administrador.
- @Test
- public void prueba33() {
- SeleniumUtils.EsperaCargaPagina(driver, "class", "ui-button-text", 5);
- login.rellenaFormulario(driver, "administrador1","administrador1");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuListarUsers");
- SeleniumUtils.EsperaCargaPagina(driver, "id", "listado_usuarios", 10);
- driver.findElement(By.id("form-pie:linkCerrar")).click();
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Autenticación de usuario", 10);
- }
- //PR34: Salir de sesión desde cuenta de usuario normal.
- @Test
- public void prueba34() {
- SeleniumUtils.EsperaCargaPagina(driver, "id", "form-login:submitUser", 5);
- login.rellenaFormulario(driver, "user2","user2");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "form-principal", 10);
- By boton = By.id("form-pie:linkCerrar");
- driver.findElement(boton).click();
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "loginGrid", 5);
- SeleniumUtils.textoPresentePagina(driver, "Autenticación de usuario");
- }
- //PR35: Cambio del idioma por defecto a un segundo idioma. (Probar algunas vistas)
- @Test
- public void prueba35() {
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:subMenuIdiomas",
- "form-cabecera:subMenuIdiomaEN");
- SeleniumUtils.EsperaCargaPagina(driver, "text", "User Login", 10);
- SeleniumUtils.textoPresentePagina(driver, "GTD Task Manager App");
- login.rellenaFormulario(driver, "user2", "user2");
- SeleniumUtils.EsperaCargaPagina(driver, "class",
- "ui-widget ui-menuitem ui-corner-all ui-menu-parent", 10);
- testTextos("Please, choose an option from the menu"
- , "Logout"
- , "LANGUAGE");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuTareas");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "listado_tareas:btnTasksInbox", 10);
- testTextos("Today", "Week", "Planned date");
- }
- //PR36: Cambio del idioma por defecto a un segundo idioma y vuelta al idioma por defecto. (Probar algunas vistas)
- @Test
- public void prueba36() {
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:subMenuIdiomas",
- "form-cabecera:subMenuIdiomaEN");
- SeleniumUtils.EsperaCargaPagina(driver, "text", "User Login", 10);
- SeleniumUtils.textoPresentePagina(driver, "GTD Task Manager App");
- login.rellenaFormulario(driver, "user2", "user2");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "form-cabecera:menuOpciones", 10);
- SeleniumUtils.textoPresentePagina(driver,
- "Please, choose an option from the menu");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones",
- "form-cabecera:subMenuAnadirTarea");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "form_anadirTarea:btnAnadirTarea", 10);
- testTextos("Title", "Comments", "Planned date", "Finished date"
- , "Create task");
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:subMenuIdiomas",
- "form-cabecera:subMenuIdiomaES");
- SeleniumUtils.EsperaCargaPagina(driver, "id",
- "form_anadirTarea:btnAnadirTarea", 10);
- testTextos("Titulo", "Comentarios", "Fecha planeada", "Fecha finalizada"
- , "Crear tarea");
- }
- //PR37: Intento de acceso a un URL privado de administrador con un usuario
- //autenticado como usuario normal.
- @Test
- public void prueba37() throws InterruptedException {
- /*Voy a tareas para ver que se me
- redirecciona a menu.xhtml*/
- irTareas("user2", "user2");
- driver.navigate().to(URL
- + "admin/listarUsuarios.xhtml");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- }
- //PR38: Intento de acceso a un URL privado de usuario normal con un usuario no autenticado.
- @Test
- public void prueba38() {
- /*Voy a listar usuarios para ver que se me
- redirecciona a menu.xhtml*/
- login.rellenaFormulario(driver, "administrador1", "administrador1");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 5);
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones", "form-cabecera:subMenuListarUsers");
- driver.navigate().to(URL
- + "user/tareaMenu.xhtml");
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- driver.close();
- }
- private void irTareas(String name, String password) {
- new LoginForm().rellenaFormulario(driver, name, password);
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones", "form-cabecera:subMenuTareas");
- SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
- }
- private void irAnadirTarea(String name, String password) {
- new LoginForm().rellenaFormulario(driver, name, password);
- SeleniumUtils.EsperaCargaPagina(driver, "text",
- "Por favor, seleccione una de las opciones en el menú", 10);
- SeleniumUtils.ClickSubopcionMenuHover(driver,
- "form-cabecera:menuOpciones", "form-cabecera:subMenuAnadirTarea");
- SeleniumUtils.EsperaCargaPagina(driver, "id", "tareaGrid", 10);
- }
- private By obtenerByEnTablaConTexto(String textoContenido
- , String elementoObjetivo){
- return By.xpath("//td[contains(text(), '" + textoContenido + "')]"
- + "/following-sibling::*"
- + "/*[contains(@id, '" + elementoObjetivo + "')]");
- }
- private void testTextos(String...texts){
- for(String text : texts){
- SeleniumUtils.textoPresentePagina(driver, text);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement