Ignore:
Timestamp:
06/16/11 17:06:01 (13 years ago)
Author:
luiz-fernando
Message:

Ticket #1771 - Refactoring, criadas novas classes para Pasta, Filtro, Pesquisa

File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/email/MailPage.java

    r4606 r4620  
    1010import org.openqa.selenium.WebElement; 
    1111import org.openqa.selenium.support.FindBy; 
     12import org.openqa.selenium.support.PageFactory; 
    1213 
    1314/** 
     
    120121        private WebElement emptyTrashLink; 
    121122 
    122         @FindBy(id = "divScrollMain_0") 
    123         private WebElement emailsListDiv; 
    124  
    125123        /** Campo contendo total de emails de uma pasta. */ 
    126124        @FindBy(id = "tot_m") 
    127125        private WebElement totalEmails; 
    128126 
    129         @FindBy(xpath = "//div[@id='exmail_main_body']/table[1]/tbody[@id='border_tbody']/tr[1]/td[2]/table/tbody/tr/td[1]") 
    130         private WebElement emailTab; 
    131  
    132127        /** Checkbox para selecao de todos emails de uma pasta. */ 
    133128        @FindBy(id = "chk_box_select_all_messages") 
     
    144139        private WebElement editFilter; 
    145140 
    146         @FindBy(xpath = "//div[@id='window_ffilter_ccform']/div[@id='form_body']/a[1]") 
    147         private WebElement filterNewRule; 
    148  
    149         @FindBy(xpath = "//div[@id='window_ffilter_ccform']/div[@id='form_body']/span[2]/input") 
    150         private WebElement filterSaveRules; 
    151  
    152         @FindBy(id = "field1") 
    153         private WebElement filterRecepient; 
    154  
    155         @FindBy(id = "field2") 
    156         private WebElement filterTo; 
    157  
    158         @FindBy(id = "field3") 
    159         private WebElement filterSubject; 
    160  
    161         @FindBy(id = "radio1") 
    162         private WebElement filterArchieveIn; 
    163  
    164         @FindBy(id = "select_mailboxes") 
    165         private WebElement filterMailBoxes; 
    166  
    167         @FindBy(id = "radio2") 
    168         private WebElement filterForwardMessage; 
    169  
    170         @FindBy(id = "radio3") 
    171         private WebElement filterRejectMessage; 
    172  
    173         @FindBy(id = "radio4") 
    174         private WebElement filterDeleteMessage; 
    175  
    176         @FindBy(id = "radio5") 
    177         private WebElement filterApplyImportantFilter; 
    178  
    179         @FindBy(xpath = "//input[@value='Nova Pasta']") 
    180         private WebElement createNewFolder; 
    181  
    182         @FindBy(xpath = "//input[@value='Excluir pasta']") 
    183         private WebElement deleteFolder; 
    184  
    185         @FindBy(xpath = "//input[@value='Renomear pasta']") 
    186         private WebElement renameFolder; 
    187  
    188141        @FindBy(xpath = "//span[@onclick='wfolders.makeWindow(\"\",\"move_to\")']") 
    189142        /** Opcao de mover do rodape. */ 
     
    233186        private WebElement searchMessages; 
    234187 
    235         @FindBy(id = "txt_de") 
    236         private WebElement searchRemetente; 
    237  
    238         @FindBy(id = "txt_para") 
    239         private WebElement searchTo; 
    240         @FindBy(id = "txt_cc") 
    241         private WebElement searchCopy; 
    242         @FindBy(id = "txt_ass") 
    243         private WebElement searchSubject; 
    244         @FindBy(id = "txt_body") 
    245         private WebElement searchBody; 
    246         @FindBy(id = "since_date") 
    247         private WebElement searchSinceDate; 
    248         @FindBy(id = "before_date") 
    249         private WebElement searchBeforeDate; 
    250         @FindBy(id = "on_date") 
    251         private WebElement searchOnDate; 
    252         @FindBy(id = "flagged") 
    253         private WebElement searchImportantFilter; 
    254         @FindBy(id = "seen") 
    255         private WebElement searchSeenFilter; 
    256         @FindBy(id = "answered") 
    257         private WebElement searchAnsweredFilter; 
    258         @FindBy(id = "recent") 
    259         private WebElement searchRecentFilter; 
    260  
    261         @FindBy(id = "incluir") 
    262         private WebElement includeFolderForSearch; 
    263  
    264         @FindBy(xpath = "//div[@id='window_search']/div[@id='div_button_search']/table/tbody/tr/td[1]/input") 
    265         private WebElement searchButton; 
    266  
    267         @FindBy(xpath = "//div[@id='window_search']/div[@id='div_button_search']/table/tbody/tr/td[3]/input") 
    268         private WebElement closeSearchButton; 
    269  
    270188        /** Nome da pasta "Caixa de Entrada". */ 
    271189        public static final String INBOX_FOLDER = "lINBOXtree_folders"; 
     
    296214        } 
    297215 
    298         public void setSearchRemetente(String searchRemetente) { 
    299                 this.searchRemetente.sendKeys(searchRemetente); 
    300         } 
    301  
    302         public void setSearchTo(String searchTo) { 
    303                 this.searchTo.sendKeys(searchTo); 
    304         } 
    305  
    306         public void setSearchCopy(String searchCopy) { 
    307                 this.searchCopy.sendKeys(searchCopy); 
    308         } 
    309  
    310         public void setSearchSubject(String searchSubject) { 
    311                 this.searchSubject.sendKeys(searchSubject); 
    312         } 
    313  
    314         public void setSearchBody(String searchBody) { 
    315                 this.searchBody.sendKeys(searchBody); 
    316         } 
    317  
    318         public void setSearchSinceDate(String searchSinceDate) { 
    319                 this.searchSinceDate.sendKeys(searchSinceDate); 
    320         } 
    321  
    322         public void setSearchBeforeDate(String searchBeforeDate) { 
    323                 this.searchBeforeDate.sendKeys(searchBeforeDate); 
    324         } 
    325  
    326         public void setSearchOnDate(String searchOnDate) { 
    327                 this.searchOnDate.sendKeys(searchOnDate); 
    328         } 
    329  
    330         public void setSearchSeenFilter(String searchSeenFilter) { 
    331                 super.setComboValue(this.searchSeenFilter, searchSeenFilter); 
    332         } 
    333  
    334         public void setSearchAnsweredFilter(String searchAnsweredFilter) { 
    335                 super.setComboValue(this.searchAnsweredFilter, searchAnsweredFilter); 
    336         } 
    337  
    338         public void setSearchRecentFilter(String searchRecentFilter) { 
    339                 super.setComboValue(this.searchRecentFilter, searchRecentFilter); 
    340         } 
    341  
    342         public void openSearchMessageWindow() { 
     216        public MailSearchPage openSearchMessageWindow() { 
    343217                this.searchMessages.click(); 
    344218                super.waitForElement(By.id("flagged")); 
    345         } 
    346  
    347         /** 
    348          * Pesquisa apenas mensagens importantes. 
    349          *  
    350          * @param flag 
    351          */ 
    352         public void searchImportantMessage(String flag) { 
    353                 super.setComboValue(searchImportantFilter, flag); 
    354         } 
    355  
    356         /** 
    357          * Pesquisa apenas mensagens lidas. 
    358          *  
    359          * @param flag 
    360          */ 
    361         public void searchSeenMessage(String flag) { 
    362                 super.setComboValue(searchSeenFilter, flag); 
    363         } 
    364  
    365         /** 
    366          * Escolhe pastas a serem pesquisadas. 
    367          *  
    368          * @param folder 
    369          */ 
    370         public void setSearchFolders(String folder) { 
    371                 super.clickElement(By.id(folder)); 
    372                 includeFolderForSearch.click(); 
    373         } 
    374  
    375         public void doSearch() { 
    376                 searchButton.click(); 
    377         } 
    378  
    379         public void closeSearchWindow() { 
    380                 closeSearchButton.click(); 
     219 
     220                return PageFactory.initElements(driver, MailSearchPage.class); 
     221 
    381222        } 
    382223 
     
    666507         * Edita nome de pasta. 
    667508         */ 
    668         public void editFolder() { 
     509        public MailFolderPage editFolder() { 
    669510                this.toolsMenu.click(); 
    670511                this.waitForElement(By 
    671512                                .xpath("//div[@id='menu_tools']/table/tbody/tr[4]/td")); 
    672513                this.editFolder.click(); 
    673         } 
    674  
    675         public void newFilterRule() { 
    676                 this.filterNewRule.click(); 
    677         } 
    678  
    679         public void setFilterRecepient(String value) { 
    680                 this.filterRecepient.sendKeys(value); 
    681         } 
    682  
    683         public void setFilterTo(String value) { 
    684                 this.filterTo.sendKeys(value); 
    685         } 
    686  
    687         public void setFilterSubject(String value) { 
    688                 this.filterSubject.sendKeys(value); 
    689         } 
    690  
    691         public void setFilterArchieveIn() { 
    692                 this.filterArchieveIn.click(); 
    693         } 
    694  
    695         public void setFilterMailBox(String mailBox) { 
    696                 super.setComboValue(this.filterMailBoxes, mailBox); 
    697         } 
    698  
    699         public void saveFilterRules() { 
    700                 this.filterSaveRules.click(); 
     514 
     515                return PageFactory.initElements(driver, MailFolderPage.class); 
    701516        } 
    702517 
     
    704519         * Edita filtros. 
    705520         */ 
    706         public void editFilter() { 
     521        public MailFilterPage editFilter() { 
    707522                this.toolsMenu.click(); 
    708523                this.waitForElement(By 
     
    710525                this.editFilter.click(); 
    711526                this.waitForElement(By.id("set_rules_img")); 
    712         } 
    713  
    714         /** 
    715          * Apaga uma regra do filtro. 
    716          *  
    717          * @param id 
    718          */ 
    719         public void deleteRule(int id) { 
    720                 this.waitForElement(By.id("rule_" + id)); 
    721                 driver.findElement(By.id("rule_" + id)).click(); 
    722                 driver.findElement(By.xpath("//div[@id='form_buttons']/input[3]")) 
    723                                 .click(); 
    724                 driver.findElement(By.xpath("//div[@id='form_buttons']/input[4]")) 
    725                                 .click(); 
    726         } 
    727  
    728         /** 
    729          * Cria nova pasta. 
    730          *  
    731          * @param folderName 
    732          *            Nome da pasta a ser criada. 
    733          */ 
    734         public void createNewFolder(String folderName) { 
    735                 this.editFolder(); 
    736                 this.createFolder(folderName); 
    737         } 
    738  
    739         private void createFolder(String folderName) { 
    740                 this.createNewFolder.click(); 
    741                 Alert newFolder = driver.switchTo().alert(); 
    742                 assert "Insira o nome da nova pasta: ".equals(newFolder.getText()); 
    743                 newFolder.sendKeys(folderName); 
    744                 newFolder.accept(); 
    745         } 
    746  
    747         /** 
    748          * Cria sub pasta. 
    749          *  
    750          * @param rootFolderName 
    751          *            Pasta pai. 
    752          * @param subFolderName 
    753          *            Nome da sub pasta a ser criada. 
    754          */ 
    755         public void createSubFolder(String rootFolderName, String subFolderName) { 
    756                 this.editFolder(); 
    757                 this.driver.findElement( 
    758                                 By.id("lINBOX/" + rootFolderName + "folders_tree")).click(); 
    759                 this.createFolder(subFolderName); 
    760         } 
    761  
    762         /** 
    763          * Renomeia pasta. 
    764          *  
    765          * @param folderName 
    766          *            Nome da pasta a ser renomeada. 
    767          * @param newName 
    768          *            Novo nome da pasta. 
    769          */ 
    770         public void renameFolder(String folderName, String newName) { 
    771                 this.editFolder(); 
    772                 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 
    773                                 .click(); 
    774                 this.renameFolder.click(); 
    775                 Alert newFolder = driver.switchTo().alert(); 
    776                 assert "Entre com um nome para a pasta:".equals(newFolder.getText()); 
    777                 newFolder.sendKeys(newName); 
    778                 newFolder.accept(); 
    779         } 
    780  
    781         /** 
    782          * @param folderName 
    783          */ 
    784         public void renameFolderInUse(String folderName) { 
    785                 this.editFolder(); 
    786                 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 
    787                                 .click(); 
    788                 this.renameFolder.click(); 
    789                 Alert newFolder = driver.switchTo().alert(); 
    790                 assert "Não é possível renomear esta pasta, pois está em uso no momento!" 
    791                                 .equals(newFolder.getText()); 
    792                 newFolder.accept(); 
    793         } 
    794  
    795         /** 
    796          * Exclui pasta. 
    797          *  
    798          * @param folderName 
    799          *            Nome da pasta a ser excluida. 
    800          */ 
    801         public void deleteFolder(String folderName) { 
    802                 this.editFolder(); 
    803                 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 
    804                                 .click(); 
    805                 this.deleteFolder.click(); 
    806         } 
    807  
    808         /** 
    809          * Exclui pasta. 
    810          *  
    811          * @param folderName 
    812          *            Nome da pasta a ser excluida. 
    813          */ 
    814         public void deleteFolder(String folderName, boolean inUse) { 
    815                 this.editFolder(); 
    816                 this.driver.findElement(By.id("lINBOX/" + folderName + "folders_tree")) 
    817                                 .click(); 
    818                 this.deleteFolder.click(); 
    819                 Alert confirm = driver.switchTo().alert(); 
    820                 if (!inUse) { 
    821                         assert ("Você gostaria de excluir a pasta: " + folderName + "?") 
    822                                         .equals(confirm.getText()); 
    823                 } else { 
    824                         assert ("Não é possível remover esta pasta, pois está em uso no momento!") 
    825                                         .equals(confirm.getText()); 
    826                 } 
    827                 confirm.accept(); 
    828         } 
    829  
    830         /** 
    831          * Exclui pasta. 
    832          *  
    833          * @param folderName 
    834          *            Nome da pasta a ser excluida. 
    835          */ 
    836         public void deleteSubFolder(String rootFolderName, String subFolderName) { 
    837                 this.editFolder(); 
    838                 this.driver.findElement( 
    839                                 By.id("pINBOX/" + rootFolderName + "folders_tree")).click(); 
    840                 this.driver.findElement( 
    841                                 By.id("lINBOX/" + rootFolderName + "/" + subFolderName 
    842                                                 + "folders_tree")).click(); 
    843                 this.deleteFolder.click(); 
    844                 Alert confirm = driver.switchTo().alert(); 
    845                 assert ("Você gostaria de excluir a pasta: " + subFolderName + "?") 
    846                                 .equals(confirm.getText()); 
    847                 confirm.accept(); 
     527 
     528                return PageFactory.initElements(driver, MailFilterPage.class); 
    848529        } 
    849530 
Note: See TracChangeset for help on using the changeset viewer.