Advertisement
claukiller

Untitled

Mar 23rd, 2017
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.44 KB | None | 0 0
  1. package com.sdi.tests.Tests;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertTrue;
  4.  
  5. import java.io.File;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. import java.util.concurrent.TimeUnit;
  9.  
  10. import org.junit.After;
  11. import org.junit.Before;
  12. import org.junit.FixMethodOrder;
  13. import org.junit.Test;
  14. import org.junit.runners.MethodSorters;
  15. import org.openqa.selenium.By;
  16. import org.openqa.selenium.WebDriver;
  17. import org.openqa.selenium.WebElement;
  18. import org.openqa.selenium.firefox.FirefoxBinary;
  19. import org.openqa.selenium.firefox.FirefoxDriver;
  20. import org.openqa.selenium.firefox.FirefoxProfile;
  21.  
  22. import com.sdi.tests.pageobjects.LoginForm;
  23. import com.sdi.tests.pageobjects.RegisterForm;
  24. import com.sdi.tests.pageobjects.TareaForm;
  25. import com.sdi.tests.utils.SeleniumUtils;
  26.  
  27. //Ordenamos las pruebas por el nombre del método
  28. @FixMethodOrder(MethodSorters.NAME_ASCENDING)
  29. public class PlantillaSDI2_Tests1617 {
  30.  
  31. private static final String URL = "http://localhost:8280/sdi2-11/";
  32. static WebDriver driver = getDriver();
  33. List<WebElement> elementos = null;
  34. private static LoginForm login = new LoginForm();
  35. private static RegisterForm register = new RegisterForm();
  36. private static TareaForm tareaForm = new TareaForm();
  37.  
  38. public static WebDriver getDriver() {
  39. File pathToBinary = new File("S:\\firefox\\FirefoxPortable.exe");
  40. FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
  41. FirefoxProfile firefoxProfile = new FirefoxProfile();
  42. driver = new FirefoxDriver(ffBinary,firefoxProfile);
  43. return driver;
  44. }
  45.  
  46. public PlantillaSDI2_Tests1617()
  47. {
  48. }
  49.  
  50. @Before
  51. public void setUp(){
  52. driver.navigate().to(URL);
  53. }
  54.  
  55. @After
  56. public void tearDown(){
  57. driver.manage().deleteAllCookies();
  58. }
  59.  
  60. //PRUEBAS
  61. //ADMINISTRADOR
  62. //PR01: Autentificar correctamente al administrador.
  63. @Test
  64. public void prueba01() {
  65. login.rellenaFormulario(driver, "administrador1","administrador1");
  66. SeleniumUtils.EsperaCargaPagina(driver, "text",
  67. "Por favor, seleccione una de las opciones en el menú", 5);
  68. }
  69. //PR02: Fallo en la autenticación del administrador por introducir mal el login.
  70. @Test
  71. public void prueba02() {
  72. login.rellenaFormulario(driver, "administrado","administrador1");
  73. SeleniumUtils.EsperaCargaPagina(driver, "text",
  74. "Credenciales no válidas o cuenta deshabilitada", 5);
  75. }
  76. //PR03: Fallo en la autenticación del administrador por introducir mal la password.
  77. @Test
  78. public void prueba03() {
  79. login.rellenaFormulario(driver, "administrador1","administrador11");
  80. SeleniumUtils.EsperaCargaPagina(driver, "text",
  81. "Credenciales no válidas o cuenta deshabilitada", 5);
  82. }
  83. //PR04: Probar que la base de datos contiene los datos insertados con conexión correcta a la base de datos.
  84. //@Test
  85. public void prueba04() {
  86. assertTrue(false);
  87. }
  88. //PR05: Visualizar correctamente la lista de usuarios normales.
  89. //@Test
  90. public void prueba05() {
  91. assertTrue(false);
  92. }
  93. //PR06: Cambiar el estado de un usuario de ENABLED a DISABLED. Y tratar de entrar con el usuario que se desactivado.
  94. @Test
  95. public void prueba06() {
  96. driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  97. login.rellenaFormulario(driver, "administrador1","administrador1");
  98. SeleniumUtils.ClickSubopcionMenuHover(driver,
  99. "form-cabecera:menuOpciones",
  100. "form-cabecera:subMenuListarUsers");
  101. By enlace = By.xpath("//td[contains(text(), 'usuario1@mail.es')]/following-sibling::*/button[contains(@id, 'btnEnable')]");
  102. driver.findElement(enlace).click();
  103. SeleniumUtils.EsperaCargaPagina(driver, "id",
  104. "mensajes", 10);
  105. SeleniumUtils.textoPresentePagina(driver,
  106. "El usuario ha pasado a estar desactivado");
  107. By boton = By.id("form-pie:linkCerrar");
  108. driver.findElement(boton).click();
  109. login.rellenaFormulario(driver, "user1","user1");
  110. SeleniumUtils.textoPresentePagina(driver,
  111. "Credenciales no válidas o cuenta deshabilitada");
  112.  
  113. }
  114. //PR07: Cambiar el estado de un usuario a DISABLED a ENABLED. Y Y tratar de entrar con el usuario que se ha activado.
  115. @Test
  116. public void prueba07() {
  117. driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  118. login.rellenaFormulario(driver, "administrador1","administrador1");
  119. SeleniumUtils.ClickSubopcionMenuHover(driver,
  120. "form-cabecera:menuOpciones",
  121. "form-cabecera:subMenuListarUsers");
  122. By enlace = By.xpath("//td[contains(text(), 'usuario1@mail.es')]/following-sibling::*/button[contains(@id, 'btnEnable')]");
  123. driver.findElement(enlace).click();
  124. SeleniumUtils.EsperaCargaPagina(driver, "id",
  125. "mensajes", 10);
  126. SeleniumUtils.textoPresentePagina(driver,
  127. "El usuario ha pasado a estar activado");
  128. By boton = By.id("form-pie:linkCerrar");
  129. driver.findElement(boton).click();
  130. login.rellenaFormulario(driver, "user1","user1");
  131. SeleniumUtils.textoPresentePagina(driver,
  132. "Por favor, seleccione una de las opciones en el menú");
  133. }
  134. //PR08: Ordenar por Login
  135. @Test
  136. public void prueba08() throws InterruptedException {
  137. driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  138. login.rellenaFormulario(driver, "administrador1","administrador1");
  139. SeleniumUtils.ClickSubopcionMenuHover(driver,
  140. "form-cabecera:menuOpciones",
  141. "form-cabecera:subMenuListarUsers");
  142. elementos = SeleniumUtils.EsperaCargaPagina(driver,
  143. "class", "ui-sortable-column-icon", 5);
  144.  
  145. List<WebElement> elementosAux = new ArrayList<WebElement>();
  146. elementosAux = elementos;
  147.  
  148. elementos.get(1).click();
  149. Thread.sleep(500);
  150. elementos.get(1).click();//Login
  151. Thread.sleep(500);
  152. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "user", 5);
  153. assertEquals("user3",
  154. elementos.get(0).getText());
  155. assertEquals("user2",
  156. elementos.get(1).getText());
  157. assertEquals("user1",
  158. elementos.get(2).getText());
  159.  
  160. elementosAux.get(1).click(); //Login
  161. Thread.sleep(500);
  162. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "user", 5);
  163. assertEquals("user1",
  164. elementos.get(0).getText());
  165. assertEquals("user2",
  166. elementos.get(1).getText());
  167. assertEquals("user3",
  168. elementos.get(2).getText());
  169. }
  170. //PR09: Ordenar por Email
  171. @Test
  172. public void prueba09() throws InterruptedException {
  173. driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  174. login.rellenaFormulario(driver, "administrador1","administrador1");
  175. SeleniumUtils.ClickSubopcionMenuHover(driver,
  176. "form-cabecera:menuOpciones",
  177. "form-cabecera:subMenuListarUsers");
  178. elementos = SeleniumUtils.EsperaCargaPagina(driver,
  179. "class", "ui-sortable-column-icon", 5);
  180.  
  181. List<WebElement> elementosAux = new ArrayList<WebElement>();
  182. elementosAux = elementos;
  183.  
  184. elementos.get(0).click(); //mail
  185. Thread.sleep(500);
  186. elementos.get(0).click();
  187. Thread.sleep(500);
  188. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "@mail.es", 5);
  189. assertEquals("usuario3@mail.es",
  190. elementos.get(0).getText());
  191. assertEquals("usuario2@mail.es",
  192. elementos.get(1).getText());
  193. assertEquals("usuario1@mail.es",
  194. elementos.get(2).getText());
  195.  
  196. elementosAux.get(0).click(); //mail
  197. Thread.sleep(500);
  198. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "@mail.es", 5);
  199. assertEquals("usuario1@mail.es",
  200. elementos.get(0).getText());
  201. assertEquals("usuario2@mail.es",
  202. elementos.get(1).getText());
  203. assertEquals("usuario3@mail.es",
  204. elementos.get(2).getText());
  205. }
  206. //PR10: Ordenar por Status
  207. @Test
  208. public void prueba10() throws InterruptedException {
  209. driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  210. login.rellenaFormulario(driver, "administrador1","administrador1");
  211. SeleniumUtils.ClickSubopcionMenuHover(driver,
  212. "form-cabecera:menuOpciones",
  213. "form-cabecera:subMenuListarUsers");
  214. elementos = SeleniumUtils.EsperaCargaPagina(driver,
  215. "class", "ui-sortable-column-icon", 5);
  216.  
  217. List<WebElement> elementosAux = new ArrayList<WebElement>();
  218. elementosAux = elementos;
  219.  
  220. elementos.get(2).click(); //status
  221. Thread.sleep(500);
  222. elementos.get(2).click();
  223. Thread.sleep(500);
  224. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "ABLED", 5);
  225. assertEquals("ENABLED",
  226. elementos.get(0).getText());
  227. assertEquals("ENABLED",
  228. elementos.get(1).getText());
  229. assertEquals("ENABLED",
  230. elementos.get(2).getText());
  231.  
  232. elementosAux.get(2).click(); //status
  233. Thread.sleep(500);
  234. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "ABLED", 5);
  235. assertEquals("ENABLED",
  236. elementos.get(0).getText());
  237. assertEquals("ENABLED",
  238. elementos.get(1).getText());
  239. assertEquals("ENABLED",
  240. elementos.get(2).getText());
  241. }
  242. //PR11: Borrar una cuenta de usuario normal y datos relacionados.
  243. @Test
  244. public void prueba11() throws InterruptedException {
  245. login.rellenaFormulario(driver, "administrador1","administrador1");
  246. SeleniumUtils.EsperaCargaPagina(driver, "text",
  247. "Por favor, seleccione una de las opciones en el menú", 10);
  248. SeleniumUtils.ClickSubopcionMenuHover(driver,
  249. "form-cabecera:menuOpciones",
  250. "form-cabecera:subMenuListarUsers");
  251. SeleniumUtils.EsperaCargaPagina(driver, "id", "listado_usuarios", 10);
  252. By enlace = By.xpath("//td[contains(text(), 'usuario3@mail.es')]/following-sibling::*/button[contains(@id, 'btnDelete')]");
  253. driver.findElement(enlace).click();
  254. Thread.sleep(1000);
  255. driver.findElement(By.id("listado_usuarios:confirmar-borrado")).click();
  256. SeleniumUtils.EsperaCargaPagina(driver, "id", "mensajes", 10);
  257. SeleniumUtils.textoPresentePagina(driver, "Se ha borrado el usuario");
  258. SeleniumUtils.textoNoPresentePagina(driver, "user3");
  259. SeleniumUtils.textoNoPresentePagina(driver, "usuario3@mail.es");
  260. }
  261. //PR12: Crear una cuenta de usuario normal con datos válidos.
  262. @Test
  263. public void prueba12() {
  264. //SeleniumUtils.EsperaCargaPagina(driver, "id", "form-login", 10);
  265. By boton = By.id("form-login:registeruser");
  266. driver.findElement(boton).click();
  267. SeleniumUtils.EsperaCargaPagina(driver, "id", "form-registro", 5);
  268. register.rellenaFormulario(driver,
  269. "User100","usuario90@gmail.com", "Usuario90", "Usuario90");
  270. SeleniumUtils.EsperaCargaPagina(driver, "id",
  271. "mensajes", 10);
  272. SeleniumUtils.textoPresentePagina(driver,
  273. "Se ha registrado correctamente");
  274. }
  275. //PR13: Crear una cuenta de usuario normal con login repetido.
  276. @Test
  277. public void prueba13() {
  278. By boton = By.id("form-login:registeruser");
  279. driver.findElement(boton).click();
  280. register.rellenaFormulario(driver, "User100","usuario90@gmail.com", "Usuario90", "Usuario90");
  281. SeleniumUtils.EsperaCargaPagina(driver, "text", "The login is already used", 10);
  282. }
  283. //PR14: Crear una cuenta de usuario normal con Email incorrecto.
  284. @Test
  285. public void prueba14() {
  286. By boton = By.id("form-login:registeruser");
  287. driver.findElement(boton).click();
  288. register.rellenaFormulario(driver, "User101","lalala", "Usuario90", "Usuario90");
  289. SeleniumUtils.EsperaCargaPagina(driver, "text", "Not a valid email", 10);
  290. }
  291. //PR15: Crear una cuenta de usuario normal con Password incorrecta.
  292. @Test
  293. public void prueba15() throws InterruptedException {
  294. By boton = By.id("form-login:registeruser");
  295. driver.findElement(boton).click();
  296. SeleniumUtils.EsperaCargaPagina(driver, "id",
  297. "form-registro:btnRegistro", 10);
  298. register.rellenaFormulario(driver,
  299. "User101","usuario90@gmail.com", "123456789", "123456789");
  300. SeleniumUtils.textoPresentePagina(driver,
  301. "Not a valid password, must contain letters and numbers");
  302. Thread.sleep(500);
  303. register.rellenaFormulario(driver,
  304. "User101","usuario90@gmail.com", "abcdefghijk", "abcdefghij");
  305. SeleniumUtils.textoPresentePagina(driver,
  306. "Not a valid password, must contain letters and numbers");
  307. Thread.sleep(500);
  308. register.rellenaFormulario(driver,
  309. "User101","usuario90@gmail.com", "abc1", "abc1");
  310. SeleniumUtils.textoPresentePagina(driver,
  311. "The password must be at least 8 chars long");
  312. }
  313. //USUARIO
  314. //PR16: Comprobar que en Inbox sólo aparecen listadas las tareas sin categoría
  315. //y que son las que tienen que ser.
  316. //Usar paginación navegando por las tres páginas.
  317. @Test
  318. public void prueba16() throws InterruptedException {
  319. irTareas("user1", "user1");
  320. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
  321. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
  322. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 3");
  323. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 4");
  324. WebElement paginator = SeleniumUtils
  325. .EsperaCargaPagina(driver, "class", "ui-paginator-next", 2)
  326. .get(0);
  327. paginator.click();
  328. SeleniumUtils.EsperaCargaPagina(driver, "text",
  329. "Tarea siguientes 6 dias 1 - Dia 1", 10);
  330. SeleniumUtils.textoPresentePagina(driver,
  331. "Tarea siguientes 6 dias 1 - Dia 1");
  332. SeleniumUtils.textoPresentePagina(driver,
  333. "Tarea siguientes 6 dias 2 - Dia 1");
  334. SeleniumUtils.textoPresentePagina(driver,
  335. "Tarea siguientes 6 dias 3 - Dia 2");
  336. paginator.click();
  337. SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 5);
  338. SeleniumUtils.textoPresentePagina(driver,
  339. "Tarea siguientes 6 dias 10 - Dia 6");
  340. }
  341. //PR17: Funcionamiento correcto de la ordenación por fecha planeada.
  342. @Test
  343. public void prueba17() throws InterruptedException {
  344. irTareas("user1", "user1");
  345. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
  346. assertEquals(elementos.get(0).getText(), "Tarea hoy 1");
  347. assertEquals(elementos.get(1).getText(), "Tarea de UO244826 y UO244747 1");
  348. assertEquals(elementos.get(2).getText(), "Tarea hoy 2");
  349. WebElement paginator =
  350. SeleniumUtils
  351. .EsperaCargaPagina(driver, "class", "ui-paginator-next", 2)
  352. .get(0);
  353. paginator.click();
  354. Thread.sleep(1000);
  355. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text",
  356. "Tarea siguientes", 10);
  357. assertEquals(elementos.get(0).getText(), "Tarea siguientes 6 dias 1 - Dia 1");
  358. assertEquals(elementos.get(2).getText(), "Tarea siguientes 6 dias 3 - Dia 2");
  359. paginator.click();
  360. Thread.sleep(500);
  361. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 10);
  362. assertEquals(elementos.get(2).getText(), "Tarea siguientes 6 dias 8 - Dia 4");
  363. assertEquals(elementos.get(3).getText(), "Tarea de UO244826 y UO244747 38");
  364. assertEquals(elementos.get(4).getText(), "Tarea siguientes 6 dias 9 - Dia 5");
  365. }
  366. //PR18: Funcionamiento correcto del filtrado.
  367. //@Test
  368. public void prueba18() throws InterruptedException {
  369. irTareas("user1", "user1");
  370. WebElement filtroTitulo = SeleniumUtils.EsperaCargaPagina(driver
  371. , "class"
  372. , "ui-column-filter", 2).get(0);
  373. filtroTitulo.clear();
  374. filtroTitulo.sendKeys("Tarea hoy 1"); //Filtrando por una sola
  375. Thread.sleep(500);
  376. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
  377. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 2");
  378. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 3");
  379. filtroTitulo.clear();
  380. filtroTitulo.sendKeys("Tarea hoy"); //Filtrando por comienzo
  381. SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea hoy", 10);
  382. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 1");
  383. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
  384. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 3");
  385. SeleniumUtils.textoNoPresentePagina(driver
  386. , "Tarea siguientes 6 dias 1 - Dia 1");
  387. SeleniumUtils.textoNoPresentePagina(driver
  388. , "Tarea siguientes 6 dias 3 - Dia 2");
  389. SeleniumUtils.textoNoPresentePagina(driver
  390. , "Tarea siguientes 6 dias 4 - Dia 2");
  391. filtroTitulo.clear();
  392. filtroTitulo.sendKeys("Tarea siguientes");
  393. SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea siguientes", 10);
  394. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
  395. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 2");
  396. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 3");
  397. SeleniumUtils.textoPresentePagina(driver
  398. , "Tarea siguientes 6 dias 1 - Dia 1");
  399. }
  400. //PR19: Funcionamiento correcto de la ordenación por categoría.
  401. @Test
  402. public void prueba19() throws InterruptedException {
  403. irTareas("user1", "user1");
  404. driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
  405. elementos = SeleniumUtils.EsperaCargaPagina(driver,
  406. "class", "ui-sortable-column-icon", 5);
  407. elementos.get(1).click(); //Categorías
  408. //Tarea retrasadas por categoría 3 - 1 (0)
  409. //Tarea retrasadas por categoría 1 - 1 (2)
  410. //Tarea retrasadas por categoría 5 - 2 (6)
  411. //Tarea retrasadas por categoría 9 - 3 (14) La última
  412. Thread.sleep(500);
  413. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
  414. assertEquals("Tarea retrasadas por categoría 3 - 1",
  415. elementos.get(0).getText());
  416. assertEquals("Tarea retrasadas por categoría 1 - 1",
  417. elementos.get(2).getText());
  418. assertEquals("Tarea retrasadas por categoría 5 - 2",
  419. elementos.get(6).getText());
  420. assertEquals("Tarea retrasadas por categoría 9 - 3",
  421. elementos.get(14).getText());
  422. }
  423. //PR20: Funcionamiento correcto de la ordenación por fecha planeada.
  424. @Test
  425. public void prueba20() throws InterruptedException {
  426. irTareas("user1", "user1");
  427. driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
  428. //Están organizadas de forma predeterminada
  429. //Tarea retrasadas por categoría 10 - 3 (0) 13/marzo
  430. //Tarea retrasadas por categoría 9 - 3 (2) 14/marzo
  431. //Tarea retrasadas por categoría 5 - 2 (8) 16/marzo
  432. //Tarea retrasadas por categoría 3 - 1 (12) La primera del 17/marzo
  433. Thread.sleep(500);
  434. elementos = SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea", 5);
  435. assertEquals("Tarea retrasadas por categoría 10 - 3",
  436. elementos.get(0).getText());
  437. assertEquals("Tarea retrasadas por categoría 9 - 3",
  438. elementos.get(2).getText());
  439. assertEquals("Tarea retrasadas por categoría 5 - 2",
  440. elementos.get(8).getText());
  441. assertEquals("Tarea retrasadas por categoría 3 - 1",
  442. elementos.get(12).getText());
  443. }
  444. //PR21: Comprobar que las tareas que no están en rojo son las de hoy y además las que deben ser.
  445. //@Test
  446. public void prueba21() {
  447. assertTrue(false);
  448. }
  449. //PR22: Comprobar que las tareas retrasadas están en rojo y son las que deben ser.
  450. //@Test
  451. public void prueba22() {
  452. assertTrue(false);
  453. }
  454. //PR23: Comprobar que las tareas de hoy y futuras no están en rojo y que son las que deben ser.
  455. //@Test
  456. public void prueba23() {
  457. assertTrue(false);
  458. }
  459. //PR24: Funcionamiento correcto de la ordenación por día.
  460. //@Test
  461. public void prueba24() {
  462. assertTrue(false);
  463. }
  464. //PR25: Funcionamiento correcto de la ordenación por nombre.
  465. //@Test
  466. public void prueba25() {
  467. assertTrue(false);
  468. }
  469. /*PR26: Confirmar una tarea, inhabilitar el filtro de tareas terminadas,
  470. * ir a la pagina donde está la tarea terminada y comprobar que se muestra.
  471. */
  472. @Test
  473. public void prueba26() throws InterruptedException {
  474. //Boton: ui-icon ui-icon-plusthick
  475. String xpathExp = "//*[@id='listado_tareas:tareas-finalizadas']"
  476. + "//*[contains(text(), 'Tarea hoy 2')]";
  477. irTareas("user1", "user1");
  478. SeleniumUtils.textoPresentePagina(driver, "Tarea hoy 2");
  479. elementos = driver.findElements(
  480. By.xpath(xpathExp));
  481. assertTrue(elementos.size() == 0);
  482. By by = obtenerByEnTablaConTexto("Tarea hoy 2", "menuOpcionesButton");
  483. driver.findElement(by).click();
  484. Thread.sleep(500);
  485. driver.findElement(By.id("listado_tareas:task-datatable:1:btnMarcar")).click();
  486. Thread.sleep(1000);
  487. elementos = driver.findElements(
  488. By.xpath(xpathExp));
  489. assertTrue(elementos.size() == 1);
  490. }
  491. //PR27: Crear una tarea sin categoría y comprobar que se muestra en la lista Inbox.
  492. @Test
  493. public void prueba27() throws InterruptedException {
  494. irAnadirTarea("user1", "user1");
  495. tareaForm .rellenarFormulario(driver, "Tarea prueba 27", null,
  496. null, null, null);
  497. SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
  498. driver.findElements(
  499. By.className("ui-paginator-page")).get(2).click();
  500. Thread.sleep(500);
  501. SeleniumUtils.textoPresentePagina(driver, "Tarea prueba 27");
  502. }
  503. /* PR28: Crear una tarea con categoría categoria1 y
  504. * fecha planeada Hoy y comprobar que se muestra en la lista Hoy.
  505. */
  506. @Test
  507. public void prueba28() throws InterruptedException {
  508. irAnadirTarea("user1", "user1");
  509. tareaForm .rellenarFormulario(driver, "Tarea prueba 27", null,
  510. null, null, null);
  511. SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
  512. driver.findElements(
  513. By.className("ui-paginator-page")).get(2).click();
  514. Thread.sleep(500);
  515. SeleniumUtils.textoPresentePagina(driver, "Tarea prueba 27");
  516. }
  517. //PR29: Crear una tarea con categoría categoria1 y fecha planeada posterior a Hoy y comprobar que se muestra en la lista Semana.
  518. //@Test
  519. public void prueba29() {
  520. assertTrue(false);
  521. }
  522. //PR30: Editar el nombre, y categoría de una tarea (se le cambia a categoría1)
  523. // de la lista Inbox y comprobar que las tres pseudolista se refresca correctamente.
  524. //@Test
  525. public void prueba30() {
  526. assertTrue(false);
  527. }
  528. //PR31: Editar el nombre, y categoría (Se cambia a sin categoría)
  529. //de una tarea de la lista Hoy y comprobar que las tres pseudolistas se refrescan correctamente.
  530. //@Test
  531. public void prueba31() {
  532.  
  533. }
  534. //PR32: Marcar una tarea como finalizada. Comprobar que desaparece de las tres pseudolistas.
  535. @Test
  536. public void prueba32() throws InterruptedException {
  537. irTareas("user1", "user1");
  538. String xpathExp = "//*[@id='listado_tareas:tareas-finalizadas']"
  539. + "//*[contains(text(), 'Tarea hoy 1')]";
  540. By by = obtenerByEnTablaConTexto("Tarea hoy 1", "menuOpcionesButton");
  541. driver.findElement(by).click();
  542. Thread.sleep(500);
  543. driver.findElement(By.id("listado_tareas:task-datatable:0:btnMarcar")).click();
  544. Thread.sleep(500);
  545. elementos = driver.findElements(By.xpath(xpathExp));
  546. assertTrue(!elementos.isEmpty());//En inbox está, en las demás, no
  547. //Primefaces no "oculta" el texto por estar en un collapsed, así que
  548. //hay que buscar que está en la tabla correcta
  549. driver.findElement(By.id("listado_tareas:btnTasksHoy")).click();
  550. SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea retrasadas", 10);
  551. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
  552. driver.findElement(By.id("listado_tareas:btnTasksSemana")).click();
  553. SeleniumUtils.EsperaCargaPagina(driver, "text", "Tarea retrasadas", 10);
  554. SeleniumUtils.textoNoPresentePagina(driver, "Tarea hoy 1");
  555. }
  556. //PR33: Salir de sesión desde cuenta de administrador.
  557. @Test
  558. public void prueba33() {
  559. SeleniumUtils.EsperaCargaPagina(driver, "class", "ui-button-text", 5);
  560. login.rellenaFormulario(driver, "administrador1","administrador1");
  561. SeleniumUtils.EsperaCargaPagina(driver, "text",
  562. "Por favor, seleccione una de las opciones en el menú", 10);
  563. SeleniumUtils.ClickSubopcionMenuHover(driver,
  564. "form-cabecera:menuOpciones",
  565. "form-cabecera:subMenuListarUsers");
  566. SeleniumUtils.EsperaCargaPagina(driver, "id", "listado_usuarios", 10);
  567. driver.findElement(By.id("form-pie:linkCerrar")).click();
  568. SeleniumUtils.EsperaCargaPagina(driver, "text",
  569. "Autenticación de usuario", 10);
  570. }
  571. //PR34: Salir de sesión desde cuenta de usuario normal.
  572. @Test
  573. public void prueba34() {
  574. SeleniumUtils.EsperaCargaPagina(driver, "id", "form-login:submitUser", 5);
  575. login.rellenaFormulario(driver, "user2","user2");
  576. SeleniumUtils.EsperaCargaPagina(driver, "id",
  577. "form-principal", 10);
  578. By boton = By.id("form-pie:linkCerrar");
  579. driver.findElement(boton).click();
  580. SeleniumUtils.EsperaCargaPagina(driver, "id",
  581. "loginGrid", 5);
  582. SeleniumUtils.textoPresentePagina(driver, "Autenticación de usuario");
  583. }
  584. //PR35: Cambio del idioma por defecto a un segundo idioma. (Probar algunas vistas)
  585. @Test
  586. public void prueba35() {
  587. SeleniumUtils.ClickSubopcionMenuHover(driver,
  588. "form-cabecera:subMenuIdiomas",
  589. "form-cabecera:subMenuIdiomaEN");
  590. SeleniumUtils.EsperaCargaPagina(driver, "text", "User Login", 10);
  591. SeleniumUtils.textoPresentePagina(driver, "GTD Task Manager App");
  592. login.rellenaFormulario(driver, "user2", "user2");
  593. SeleniumUtils.EsperaCargaPagina(driver, "class",
  594. "ui-widget ui-menuitem ui-corner-all ui-menu-parent", 10);
  595. testTextos("Please, choose an option from the menu"
  596. , "Logout"
  597. , "LANGUAGE");
  598. SeleniumUtils.ClickSubopcionMenuHover(driver,
  599. "form-cabecera:menuOpciones",
  600. "form-cabecera:subMenuTareas");
  601. SeleniumUtils.EsperaCargaPagina(driver, "id",
  602. "listado_tareas:btnTasksInbox", 10);
  603. testTextos("Today", "Week", "Planned date");
  604. }
  605.  
  606. //PR36: Cambio del idioma por defecto a un segundo idioma y vuelta al idioma por defecto. (Probar algunas vistas)
  607. @Test
  608. public void prueba36() {
  609. SeleniumUtils.ClickSubopcionMenuHover(driver,
  610. "form-cabecera:subMenuIdiomas",
  611. "form-cabecera:subMenuIdiomaEN");
  612. SeleniumUtils.EsperaCargaPagina(driver, "text", "User Login", 10);
  613. SeleniumUtils.textoPresentePagina(driver, "GTD Task Manager App");
  614. login.rellenaFormulario(driver, "user2", "user2");
  615. SeleniumUtils.EsperaCargaPagina(driver, "id",
  616. "form-cabecera:menuOpciones", 10);
  617. SeleniumUtils.textoPresentePagina(driver,
  618. "Please, choose an option from the menu");
  619. SeleniumUtils.ClickSubopcionMenuHover(driver,
  620. "form-cabecera:menuOpciones",
  621. "form-cabecera:subMenuAnadirTarea");
  622. SeleniumUtils.EsperaCargaPagina(driver, "id",
  623. "form_anadirTarea:btnAnadirTarea", 10);
  624. testTextos("Title", "Comments", "Planned date", "Finished date"
  625. , "Create task");
  626. SeleniumUtils.ClickSubopcionMenuHover(driver,
  627. "form-cabecera:subMenuIdiomas",
  628. "form-cabecera:subMenuIdiomaES");
  629. SeleniumUtils.EsperaCargaPagina(driver, "id",
  630. "form_anadirTarea:btnAnadirTarea", 10);
  631. testTextos("Titulo", "Comentarios", "Fecha planeada", "Fecha finalizada"
  632. , "Crear tarea");
  633. }
  634. //PR37: Intento de acceso a un URL privado de administrador con un usuario
  635. //autenticado como usuario normal.
  636. @Test
  637. public void prueba37() throws InterruptedException {
  638. /*Voy a tareas para ver que se me
  639. redirecciona a menu.xhtml*/
  640. irTareas("user2", "user2");
  641. driver.navigate().to(URL
  642. + "admin/listarUsuarios.xhtml");
  643. SeleniumUtils.EsperaCargaPagina(driver, "text",
  644. "Por favor, seleccione una de las opciones en el menú", 10);
  645. }
  646. //PR38: Intento de acceso a un URL privado de usuario normal con un usuario no autenticado.
  647. @Test
  648. public void prueba38() {
  649. /*Voy a listar usuarios para ver que se me
  650. redirecciona a menu.xhtml*/
  651. login.rellenaFormulario(driver, "administrador1", "administrador1");
  652. SeleniumUtils.EsperaCargaPagina(driver, "text",
  653. "Por favor, seleccione una de las opciones en el menú", 5);
  654. SeleniumUtils.ClickSubopcionMenuHover(driver,
  655. "form-cabecera:menuOpciones", "form-cabecera:subMenuListarUsers");
  656. driver.navigate().to(URL
  657. + "user/tareaMenu.xhtml");
  658. SeleniumUtils.EsperaCargaPagina(driver, "text",
  659. "Por favor, seleccione una de las opciones en el menú", 10);
  660. driver.close();
  661. }
  662.  
  663.  
  664.  
  665. private void irTareas(String name, String password) {
  666. new LoginForm().rellenaFormulario(driver, name, password);
  667. SeleniumUtils.EsperaCargaPagina(driver, "text",
  668. "Por favor, seleccione una de las opciones en el menú", 10);
  669. SeleniumUtils.ClickSubopcionMenuHover(driver,
  670. "form-cabecera:menuOpciones", "form-cabecera:subMenuTareas");
  671. SeleniumUtils.EsperaCargaPagina(driver, "id", "task-datatable", 10);
  672. }
  673.  
  674. private void irAnadirTarea(String name, String password) {
  675. new LoginForm().rellenaFormulario(driver, name, password);
  676. SeleniumUtils.EsperaCargaPagina(driver, "text",
  677. "Por favor, seleccione una de las opciones en el menú", 10);
  678. SeleniumUtils.ClickSubopcionMenuHover(driver,
  679. "form-cabecera:menuOpciones", "form-cabecera:subMenuAnadirTarea");
  680. SeleniumUtils.EsperaCargaPagina(driver, "id", "tareaGrid", 10);
  681. }
  682.  
  683. private By obtenerByEnTablaConTexto(String textoContenido
  684. , String elementoObjetivo){
  685. return By.xpath("//td[contains(text(), '" + textoContenido + "')]"
  686. + "/following-sibling::*"
  687. + "/*[contains(@id, '" + elementoObjetivo + "')]");
  688. }
  689.  
  690. private void testTextos(String...texts){
  691. for(String text : texts){
  692. SeleniumUtils.textoPresentePagina(driver, text);
  693. }
  694. }
  695.  
  696.  
  697. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement