Changeset 4527 for devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/email/MailPage.java
- Timestamp:
- 05/26/11 15:29:49 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/email/MailPage.java
r4344 r4527 47 47 private WebElement importantFilter; 48 48 49 /** Filtra emails lidos. */ 50 @FindBy(id = "span_flag_SEEN") 51 private WebElement readFilter; 52 53 @FindBy(id = "span_flag_UNSEEN") 54 private WebElement notReadFilter; 55 56 @FindBy(id = "span_flag_ANSWERED") 57 private WebElement answeredFilter; 58 49 59 /** Flag normal de um email aberto. */ 50 60 @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/span[3]") … … 99 109 private WebElement deleteEmailLink; 100 110 111 @FindBy(xpath = "//div[@id='footer_menu']/table[@id='footer_box']/tbody/tr[@id='table_message']/td[@id='span_options']/span[4]/span") 112 private WebElement exportEmailLink; 113 101 114 /** Link para pasta lixeira. */ 102 115 @FindBy(id = "lINBOX/Trashtree_folders") … … 128 141 private WebElement editFolder; 129 142 143 @FindBy(xpath = "//div[@id='menu_tools']/table/tbody/tr[3]/td") 144 private WebElement editFilter; 145 130 146 @FindBy(xpath = "//input[@value='Nova Pasta']") 131 147 private WebElement createNewFolder; … … 133 149 @FindBy(xpath = "//input[@value='Excluir pasta']") 134 150 private WebElement deleteFolder; 151 152 @FindBy(xpath = "//input[@value='Renomear pasta']") 153 private WebElement renameFolder; 135 154 136 155 @FindBy(xpath = "//span[@onclick='wfolders.makeWindow(\"\",\"move_to\")']") … … 178 197 private WebElement saveNewEmail; 179 198 199 @FindBy(xpath = "//table[@id='folders_tbl']/tbody/tr[1]/td/table/tbody/tr[1]/td/a[1]") 200 private WebElement searchMessages; 201 202 @FindBy(id = "txt_de") 203 private WebElement searchRemetente; 204 205 @FindBy(id = "txt_para") 206 private WebElement searchTo; 207 @FindBy(id = "txt_cc") 208 private WebElement searchCopy; 209 @FindBy(id = "txt_ass") 210 private WebElement searchSubject; 211 @FindBy(id = "txt_body") 212 private WebElement searchBody; 213 @FindBy(id = "since_date") 214 private WebElement searchSinceDate; 215 @FindBy(id = "before_date") 216 private WebElement searchBeforeDate; 217 @FindBy(id = "on_date") 218 private WebElement searchOnDate; 219 @FindBy(id = "flagged") 220 private WebElement searchImportantFilter; 221 @FindBy(id = "seen") 222 private WebElement searchSeenFilter; 223 @FindBy(id = "answered") 224 private WebElement searchAnsweredFilter; 225 @FindBy(id = "recent") 226 private WebElement searchRecentFilter; 227 228 @FindBy(id = "incluir") 229 private WebElement includeFolderForSearch; 230 231 @FindBy(xpath = "//div[@id='window_search']/div[@id='div_button_search']/table/tbody/tr/td[1]/input") 232 private WebElement searchButton; 233 234 @FindBy(xpath = "//div[@id='window_search']/div[@id='div_button_search']/table/tbody/tr/td[3]/input") 235 private WebElement closeSearchButton; 236 180 237 /** Nome da pasta "Caixa de Entrada". */ 181 238 public static final String INBOX_FOLDER = "lINBOXtree_folders"; … … 204 261 public void cancelNewEmail() { 205 262 this.cancelNewEmail.click(); 263 } 264 265 public void setSearchRemetente(String searchRemetente) { 266 this.searchRemetente.sendKeys(searchRemetente); 267 } 268 269 public void setSearchTo(String searchTo) { 270 this.searchTo.sendKeys(searchTo); 271 } 272 273 public void setSearchCopy(String searchCopy) { 274 this.searchCopy.sendKeys(searchCopy); 275 } 276 277 public void setSearchSubject(String searchSubject) { 278 this.searchSubject.sendKeys(searchSubject); 279 } 280 281 public void setSearchBody(String searchBody) { 282 this.searchBody.sendKeys(searchBody); 283 } 284 285 public void setSearchSinceDate(String searchSinceDate) { 286 this.searchSinceDate.sendKeys(searchSinceDate); 287 } 288 289 public void setSearchBeforeDate(String searchBeforeDate) { 290 this.searchBeforeDate.sendKeys(searchBeforeDate); 291 } 292 293 public void setSearchOnDate(String searchOnDate) { 294 this.searchOnDate.sendKeys(searchOnDate); 295 } 296 297 public void setSearchSeenFilter(String searchSeenFilter) { 298 super.setComboValue(this.searchSeenFilter, searchSeenFilter); 299 } 300 301 public void setSearchAnsweredFilter(String searchAnsweredFilter) { 302 super.setComboValue(this.searchAnsweredFilter, searchAnsweredFilter); 303 } 304 305 public void setSearchRecentFilter(String searchRecentFilter) { 306 super.setComboValue(this.searchRecentFilter, searchRecentFilter); 307 } 308 309 public void openSearchMessageWindow() { 310 this.searchMessages.click(); 311 super.waitForElement(By.id("flagged")); 312 } 313 314 /** 315 * Pesquisa apenas mensagens importantes. 316 * 317 * @param flag 318 */ 319 public void searchImportantMessage(String flag) { 320 super.setComboValue(searchImportantFilter, flag); 321 } 322 323 /** 324 * Pesquisa apenas mensagens lidas. 325 * 326 * @param flag 327 */ 328 public void searchSeenMessage(String flag) { 329 super.setComboValue(searchSeenFilter, flag); 330 } 331 332 /** 333 * Escolhe pastas a serem pesquisadas. 334 * 335 * @param folder 336 */ 337 public void setSearchFolders(String folder) { 338 super.clickElement(By.id(folder)); 339 includeFolderForSearch.click(); 340 } 341 342 public void doSearch() { 343 searchButton.click(); 344 } 345 346 public void closeSearchWindow() { 347 closeSearchButton.click(); 206 348 } 207 349 … … 300 442 } 301 443 444 /** 445 * Mostra detalhes (cabecalho do email sendo lido). 446 * 447 * @param id 448 */ 449 public void showDetails(String id) { 450 driver.findElement(By.id("option_hide_more_" + id + "_r")).click(); 451 } 452 453 /** 454 * Remove anexos do email sendo lido. 455 */ 456 public void removeAllAttachments() { 457 driver.findElement( 458 By.xpath("//div[@id='exmail_main_body']/div[2]/table/tbody/tr[2]/td/div[1]/table[1]/tbody/tr[5]/td[2]/a[1]")) 459 .click(); 460 Alert alert = driver.switchTo().alert(); 461 assert ("ATENÃÃO: Após a confirmação dessa mensagem, TODOS os anexos da mesma serão apagados. Tenha certeza de que possui uma cópia dos arquivos importantes. Deseja confirmar a operação?" 462 .equals(alert.getText())); 463 alert.accept(); 464 } 465 466 public void blockRecipient(String message) { 467 driver.findElement( 468 By.xpath("//div[@id='exmail_main_body']/div[2]/table/tbody/tr[2]/td/div[1]/table[1]/tbody/tr[1]/td[1]/span[@id='tt_d']/img")) 469 .click(); 470 // Espera pelo "Carregando..." aparecer. 471 waitForElement(By.id("divProgressBar")); 472 waitForElement(By.id("divScrollMain_0")); 473 // Espera pelo "Carregando..." desaparecer. 474 isNotDisplayed(this 475 .waitFindElement(By.id("divProgressBar"), 5000, 1000)); 476 Alert alert = driver.switchTo().alert(); 477 assert (message.equals(alert.getText())); 478 alert.accept(); 479 } 480 302 481 private void reply(String id) { 303 482 super.waitForElement(By.id("to_" + id)); … … 366 545 * Pasta de email a ser aberta. 367 546 */ 368 public void openFolder(String folder) { 547 public void openFolder(String folder, boolean waitEmail) { 548 waitForElement(By.id(folder)); 369 549 clickElement(By.id(folder)); 370 550 // Espera pelo "Carregando..." aparecer. … … 374 554 isNotDisplayed(this 375 555 .waitFindElement(By.id("divProgressBar"), 5000, 1000)); 376 waitForElement(By 377 .xpath("//div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[1]/td[1]/input[1]")); 556 if (waitEmail) { 557 waitForElement(By 558 .xpath("//div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[1]/td[1]/input[1]")); 559 } 560 } 561 562 public void openFolder(String folder) { 563 openFolder(folder, true); 378 564 } 379 565 … … 394 580 public void setImportantFilter() { 395 581 this.importantFilter.click(); 582 } 583 584 /** 585 * Filtra somente as mensagens lidas. 586 */ 587 public void setReadFilter() { 588 this.readFilter.click(); 589 } 590 591 /** 592 * Filtra somente as mensagens nao lidas. 593 */ 594 public void setNotReadFilter() { 595 this.notReadFilter.click(); 596 } 597 598 /** 599 * Filtra somente as mensagens respondidas. 600 */ 601 public void setAnsweredFilter() { 602 this.answeredFilter.click(); 396 603 } 397 604 … … 434 641 435 642 /** 643 * Edita filtros. 644 */ 645 public void editFilter() { 646 this.toolsMenu.click(); 647 this.waitForElement(By 648 .xpath("//div[@id='menu_tools']/table/tbody/tr[3]/td")); 649 this.editFilter.click(); 650 } 651 652 /** 653 * Apaga uma regra do filtro. 654 * 655 * @param id 656 */ 657 public void deleteRule(int id) { 658 this.waitForElement(By.id("rule_" + id)); 659 driver.findElement(By.id("rule_" + id)).click(); 660 driver.findElement(By.xpath("//div[@id='form_buttons']/input[3]")) 661 .click(); 662 driver.findElement(By.xpath("//div[@id='form_buttons']/input[4]")) 663 .click(); 664 } 665 666 /** 436 667 * Cria nova pasta. 437 668 * … … 441 672 public void createNewFolder(String folderName) { 442 673 this.editFolder(); 674 this.createFolder(folderName); 675 } 676 677 private void createFolder(String folderName) { 443 678 this.createNewFolder.click(); 444 679 Alert newFolder = driver.switchTo().alert(); … … 449 684 450 685 /** 686 * Cria sub pasta. 687 * 688 * @param rootFolderName 689 * Pasta pai. 690 * @param subFolderName 691 * Nome da sub pasta a ser criada. 692 */ 693 public void createSubFolder(String rootFolderName, String subFolderName) { 694 this.editFolder(); 695 this.driver.findElement( 696 By.id("lINBOX/" + rootFolderName + "folders_tree")).click(); 697 this.createFolder(subFolderName); 698 } 699 700 /** 701 * Renomeia pasta. 702 * 703 * @param folderName 704 * Nome da pasta a ser renomeada. 705 * @param newName 706 * Novo nome da pasta. 707 */ 708 public void renameFolder(String folderName, String newName) { 709 this.editFolder(); 710 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 711 .click(); 712 this.renameFolder.click(); 713 Alert newFolder = driver.switchTo().alert(); 714 assert "Entre com um nome para a pasta:".equals(newFolder.getText()); 715 newFolder.sendKeys(newName); 716 newFolder.accept(); 717 } 718 719 /** 720 * @param folderName 721 */ 722 public void renameFolderInUse(String folderName) { 723 this.editFolder(); 724 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 725 .click(); 726 this.renameFolder.click(); 727 Alert newFolder = driver.switchTo().alert(); 728 assert "Não é possÃvel renomear esta pasta, pois está em uso no momento!" 729 .equals(newFolder.getText()); 730 newFolder.accept(); 731 } 732 733 /** 451 734 * Exclui pasta. 452 735 * … … 459 742 .click(); 460 743 this.deleteFolder.click(); 744 } 745 746 /** 747 * Exclui pasta. 748 * 749 * @param folderName 750 * Nome da pasta a ser excluida. 751 */ 752 public void deleteFolder(String folderName, boolean inUse) { 753 this.editFolder(); 754 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 755 .click(); 756 this.deleteFolder.click(); 461 757 Alert confirm = driver.switchTo().alert(); 462 assert ("Você gostaria de excluir a pasta: " + folderName + "?") 758 if (!inUse) { 759 assert ("Você gostaria de excluir a pasta: " + folderName + "?") 760 .equals(confirm.getText()); 761 } else { 762 assert ("Não é possÃvel remover esta pasta, pois está em uso no momento!") 763 .equals(confirm.getText()); 764 } 765 confirm.accept(); 766 } 767 768 /** 769 * Exclui pasta. 770 * 771 * @param folderName 772 * Nome da pasta a ser excluida. 773 */ 774 public void deleteSubFolder(String rootFolderName, String subFolderName) { 775 this.editFolder(); 776 this.driver.findElement( 777 By.id("pINBOX/" + rootFolderName + "folders_tree")).click(); 778 this.driver.findElement( 779 By.id("lINBOX/" + rootFolderName + "/" + subFolderName 780 + "folders_tree")).click(); 781 this.deleteFolder.click(); 782 Alert confirm = driver.switchTo().alert(); 783 assert ("Você gostaria de excluir a pasta: " + subFolderName + "?") 463 784 .equals(confirm.getText()); 464 785 confirm.accept(); … … 521 842 public void deleteEmail() { 522 843 this.deleteEmailLink.click(); 844 } 845 846 /** 847 * Exporta email previamente selecionado. 848 */ 849 public void exportEmail() { 850 this.exportEmailLink.click(); 523 851 } 524 852 … … 659 987 */ 660 988 public String findEmailIdBySuject(String subject, boolean select) { 661 System.out.println("searching for --------->" + subject);989 // System.out.println("searching for --------->" + subject); 662 990 String html = driver.getPageSource(); 663 991 // System.out.println(html.indexOf(subject)); … … 668 996 int last = StringUtils.indexOf(part1, "\"", start); 669 997 String id = StringUtils.substring(part1, start, last); 670 System.out.println("******************"); 671 System.out.println("******************"); 672 System.out.println("******************"); 673 System.out.println("******************"); 674 System.out.println("******************"); 675 System.out.println("******************"); 676 System.out.println(id); 998 // System.out.println(id); 677 999 if (select) { 678 1000 // Marca checkbox correspondente ao id da mensagem. … … 681 1003 return id; 682 1004 } 1005 System.out.println("email not found"); 683 1006 return null; 684 1007 } … … 714 1037 715 1038 /** 1039 * @param emailId 1040 * Id do email. 1041 * @return <code>true</code> se email lido, <code>false</code> caso 1042 * contrario. 1043 */ 1044 public boolean isRead(String emailId) { 1045 return super 1046 .isDisplayed((RenderedWebElement) driver.findElement(By 1047 .xpath("//div[@id='exmail_main_body']/div[@id='content_id_0']/div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[@id='" 1048 + emailId 1049 + "']/td[@id='td_message_unseen_" 1050 + emailId + "']/img"))); 1051 } 1052 1053 /** 1054 * @param emailId 1055 * Id do email. 1056 * @return <code>true</code> se email nao lido, <code>false</code> caso 1057 * contrario. 1058 */ 1059 public boolean isNotRead(String emailId) { 1060 return super 1061 .isDisplayed((RenderedWebElement) driver.findElement(By 1062 .xpath("//div[@id='exmail_main_body']/div[@id='content_id_0']/div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[@id='" 1063 + emailId 1064 + "']/td[@id='td_message_unseen_" 1065 + emailId + "']/img"))); 1066 } 1067 1068 /** 1069 * @param emailId 1070 * Id do email. 1071 * @return <code>true</code> se email respondido, <code>false</code> caso 1072 * contrario. 1073 */ 1074 public boolean isAnswered(String emailId) { 1075 return super 1076 .isDisplayed((RenderedWebElement) driver.findElement(By 1077 .xpath("//div[@id='exmail_main_body']/div[@id='content_id_0']/div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[@id='" 1078 + emailId 1079 + "']/td[@id='td_message_answered_" 1080 + emailId + "']/img"))); 1081 } 1082 1083 /** 716 1084 * Procura email baseado no assunto na pasta corrente. 717 1085 *
Note: See TracChangeset
for help on using the changeset viewer.