Changeset 4344


Ignore:
Timestamp:
05/11/11 15:25:35 (13 years ago)
Author:
luiz-fernando
Message:

Ticket #1402 - Novos casos de teste para preferencias administrativas

Location:
devel/testlink/automation2.0
Files:
12 added
26 edited
1 moved

Legend:

Unmodified
Added
Removed
  • devel/testlink/automation2.0/.classpath

    r3663 r4344  
    11<?xml version="1.0" encoding="UTF-8"?> 
    22<classpath> 
     3        <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 
     4        <classpathentry including="**" kind="src" output="target/test-classes" path="src/test/resources"/> 
    35        <classpathentry kind="src" output="target/classes" path="src/main/java"/> 
    46        <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> 
    5         <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 
    6         <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> 
    77        <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> 
    88        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 
  • devel/testlink/automation2.0/.settings/org.eclipse.jdt.core.prefs

    r3663 r4344  
    1 #Fri Nov 26 10:04:47 BRST 2010 
     1#Tue Apr 19 15:24:55 BRT 2011 
    22eclipse.preferences.version=1 
    33org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 
    44org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 
     5org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 
    56org.eclipse.jdt.core.compiler.compliance=1.6 
     7org.eclipse.jdt.core.compiler.debug.lineNumber=generate 
     8org.eclipse.jdt.core.compiler.debug.localVariable=generate 
     9org.eclipse.jdt.core.compiler.debug.sourceFile=generate 
    610org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 
    711org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 
  • devel/testlink/automation2.0/[FUN02.1] - ComporMensagem.xml

    r3853 r4344  
    1515                <classes> 
    1616                        <class name="org.expressolivre.cte.email.compor.EnviarEmailTestCase" /> 
     17                        <class name="org.expressolivre.cte.email.compor.EnviarEmailCorpo100TestCase" /> 
    1718                        <class name="org.expressolivre.cte.email.compor.EnviarEmailAnexoTestCase" /> 
     19                        <class name="org.expressolivre.cte.email.compor.RemoverAnexoTestCase" /> 
    1820                        <class name="org.expressolivre.cte.email.compor.EnviarEmailConfirmacaoLeituraTestCase" /> 
    1921                        <class name="org.expressolivre.cte.email.compor.EnviarEmailCopiaOcultaTestCase" /> 
     
    4648                </classes> 
    4749        </test> 
    48  
     50  
    4951        <test name="Apagar rascunhos" preserve-order="true"> 
    5052                <parameter name="folder" value="lINBOX/Draftstree_folders"/> 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/Config.java

    r4057 r4344  
    1818        private Properties valores; 
    1919        private Properties emailPreferences; 
     20        private Properties emailAdminPreferences; 
    2021 
    2122        private Config() { 
     
    2526                        this.valores = this.load("valores.properties"); 
    2627                        this.emailPreferences = this.load(getConfig("config.email")); 
     28                        this.emailAdminPreferences = this 
     29                                        .load(getConfig("config.email.admin")); 
    2730                } catch (Exception e) { 
    2831                        e.printStackTrace(); 
     
    5962        } 
    6063 
     64        public String getEmailAdminPreference(String key) { 
     65                return this.emailAdminPreferences.getProperty(key); 
     66        } 
     67 
    6168        private Properties load(String propsName) throws Exception { 
    6269                Properties props = new Properties(); 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/Constants.java

    r3853 r4344  
    1414        public static final String URL_PREFERENCES_EMAIL = URL_PREFERENCES 
    1515                        + "/preferences.php?appname=expressoMail1_2"; 
     16        public static final String URL_DEFAULT_PREFERENCES_EMAIL = URL_PREFERENCES 
     17                        + "/preferences.php?appname=expressoMail1_2&type=default"; 
     18        public static final String URL_FORCED_PREFERENCES_EMAIL = URL_PREFERENCES 
     19                        + "/preferences.php?appname=expressoMail1_2&type=forced"; 
    1620        public static final String USER = Config.getInstance().getConfig("user"); 
    1721        public static final String PASS = Config.getInstance().getConfig("passwd"); 
     
    2731        public static final String EMAIL_ASSUNTO = Config.getInstance().getValor( 
    2832                        "assunto"); 
     33        public static final String EMAIL_ASSUNTO_TEXTO_100k = Config.getInstance() 
     34                        .getValor("assunto.100k"); 
    2935        public static final String EMAIL_ASSUNTO_IMPORTANTE = Config.getInstance() 
    3036                        .getValor("assunto.importante"); 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/common/PreferencesTestCase.java

    r3789 r4344  
    11package org.expressolivre.cte.common; 
    22 
     3import org.expressolivre.cte.pages.email.ExpressoMailAdminPreferencesPage; 
    34import org.expressolivre.cte.pages.email.ExpressoMailPreferencesPage; 
    45import org.openqa.selenium.support.PageFactory; 
     
    2324        } 
    2425 
     26        /** 
     27         * Abre pagina de preferencias administrativas do modulo ExpressoMail. 
     28         *  
     29         * @return 
     30         */ 
     31        public ExpressoMailAdminPreferencesPage openEmailAdminPreferencesPage() { 
     32                driver.get(URL_PREFERENCES_EMAIL); 
     33                return PageFactory.initElements(driver, 
     34                                ExpressoMailAdminPreferencesPage.class); 
     35        } 
     36 
     37        /** 
     38         * Abre pagina de preferencias administrativas do modulo ExpressoMail. 
     39         *  
     40         * @return 
     41         */ 
     42        public ExpressoMailAdminPreferencesPage openEmailAdminDefaultPreferencesPage() { 
     43                driver.get(URL_DEFAULT_PREFERENCES_EMAIL); 
     44                return PageFactory.initElements(driver, 
     45                                ExpressoMailAdminPreferencesPage.class); 
     46        } 
     47 
     48        /** 
     49         * Abre pagina de preferencias administrativas do modulo ExpressoMail. 
     50         *  
     51         * @return 
     52         */ 
     53        public ExpressoMailAdminPreferencesPage openEmailAdminForcedPreferencesPage() { 
     54                driver.get(URL_FORCED_PREFERENCES_EMAIL); 
     55                return PageFactory.initElements(driver, 
     56                                ExpressoMailAdminPreferencesPage.class); 
     57        } 
     58 
    2559} 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/DescartarEmailTestCase.java

    r3853 r4344  
    2424 * testcase&id=EL-1240 
    2525 *  
     26 * TODO NAO RODAR! Pendente unificacao com comunidade (09-Mai-11) 
     27 *  
    2628 * @author L.F.Estivalet (Serpro) 
    2729 *  
    2830 *         Created on Feb 23, 2011 at 3:10:58 PM 
    29  *  
    3031 */ 
    3132public class DescartarEmailTestCase extends BaseEmailTestCase { 
     
    3435         * Executa o teste. Testa os botoes Cancelar e Descartar nova mensagem. 
    3536         */ 
    36         @Test 
     37        @Test(enabled = false) 
    3738        public void testCancelDiscard() { 
    3839                mp.composeEmail(EMAIL_TESTE_1, EMAIL_ASSUNTO, EMAIL_TEXTO); 
     
    4344        } 
    4445 
    45         @Test 
     46        @Test(enabled = false) 
    4647        public void testSalvar() { 
    4748                mp.composeEmail(EMAIL_TESTE_1, EMAIL_ASSUNTO_SALVAR, EMAIL_TEXTO_SALVAR); 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailAnexoTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223        /** 
    2324         * Executa o teste. Envia mensagem para email, assunto, texto e anexo 
    24          * pre-definidos no arquivo de configuracao. 
     25         * pre-definidos no arquivo de configuracao. Apos envio, verifica se o email 
     26         * foi movido para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
     
    3032                mp.sendMail(); 
    3133                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     34                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     35                                EMAIL_ASSUNTO_ANEXO)); 
     36 
    3237        } 
    3338 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailConfirmacaoLeituraTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223        /** 
    2324         * Executa o teste. Envia mensagem para email, assunto e texto pre-definidos 
    24          * no arquivo de configuracao com confirmacao de leitura. 
     25         * no arquivo de configuracao com confirmacao de leitura. Apos envio, 
     26         * verifica se o email foi movido para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
     
    3133                mp.sendMail(); 
    3234                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     35                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     36                                EMAIL_ASSUNTO_LEITURA)); 
    3337        } 
    3438 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailCopiaOcultaTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    1213 * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item= 
    1314 * testcase&id=EL-526 
    14  
     15 *  
    1516 * @author L.F.Estivalet (Serpro) 
    1617 *  
     
    2223        /** 
    2324         * Executa o teste. Envia mensagem para email, assunto e texto pre-definidos 
    24          * no arquivo de configuracao com copia oculta. 
     25         * no arquivo de configuracao com copia oculta. Apos envio, verifica se o 
     26         * email foi movido para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
    2729        public void test() { 
    2830                mp.composeEmail(EMAIL_TESTE_1, EMAIL_ASSUNTO_COPIA_OCULTA, 
    29                                 EMAIL_TEXTO_COPIA_OCULTA); 
     31                                EMAIL_ASSUNTO_COPIA_OCULTA); 
    3032                mp.setBlindCarbonCopy(EMAIL_TESTE_2); 
    3133                mp.sendMail(); 
    3234                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     35                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     36                                EMAIL_ASSUNTO_COPIA_OCULTA)); 
    3337        } 
    3438 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailCopiaTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223        /** 
    2324         * Executa o teste. Envia mensagem para email, assunto e texto pre-definidos 
    24          * no arquivo de configuracao com copia. 
     25         * no arquivo de configuracao com copia. Apos envio, verifica se o email foi 
     26         * movido para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
     
    3032                mp.sendMail(); 
    3133                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     34                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     35                                EMAIL_ASSUNTO_COPIA)); 
    3236        } 
    3337 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailDestinatarioInvalidoTestCase.java

    r3782 r4344  
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
    44import org.testng.annotations.Test; 
    5  
    65 
    76/** 
     
    1211 * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item= 
    1312 * testcase&id=EL-534 
     13 *  
     14 * TODO NAO RODAR! Pendente unificacao com comunidade (09-Mai-11) 
    1415 *  
    1516 * @author L.F.Estivalet (Serpro) 
     
    2324         * Executa o teste. Tentativa de enviar mensagem para email invalido. 
    2425         */ 
    25         @Test 
     26        @Test(enabled = false) 
    2627        public void test() { 
    2728                mp.composeEmail(EMAIL_INVALIDO, EMAIL_ASSUNTO, EMAIL_TEXTO); 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailImportanteTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2122 
    2223        /** 
    23          * Executa o teste. Envia um email importante. 
     24         * Executa o teste. Envia um email importante. Apos envio, verifica se o 
     25         * email foi movido para a pasta de emails enviados. 
    2426         */ 
    2527        @Test 
     
    3032                mp.sendMail(); 
    3133                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     34                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     35                                EMAIL_ASSUNTO_IMPORTANTE)); 
    3236        } 
    3337 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailMultiplosAnexosTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    1213 * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item= 
    1314 * testcase&id=EL-530 
    14  
     15 *  
    1516 * @author L.F.Estivalet (Serpro) 
    1617 *  
     
    2122 
    2223        /** 
    23          * Executa o teste. Envia um email com multiplos anexos. 
     24         * Executa o teste. Envia um email com multiplos anexos. Apos envio, 
     25         * verifica se o email foi movido para a pasta de emails enviados. 
    2426         */ 
    2527        @Test 
     
    3133                mp.sendMail(); 
    3234                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     35                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     36                                EMAIL_ASSUNTO_MULTIPLOS_ANEXOS)); 
    3337        } 
    3438 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailMultiplosDestinatariosTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223 
    2324        /** 
    24          * Executa o teste. Envia um email para multiplos destinatarios. 
     25         * Executa o teste. Envia um email para multiplos destinatarios. Apos envio, 
     26         * verifica se o email foi movido para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
     
    3133                mp.sendMail(); 
    3234                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     35                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     36                                EMAIL_ASSUNTO_MULTIPLOS_DESTINATARIOS)); 
     37 
    3338        } 
    3439 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailRascunhoTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2324 
    2425        /** 
    25          * Esse caso de teste eh dependente do SalvarEmailTestCase 
     26         * Esse caso de teste eh dependente do SalvarEmailTestCase. Apos envio, 
     27         * verifica se o email foi movido para a pasta de emails enviados. 
    2628         */ 
    2729        @Test 
     
    3234                mp.sendMail(id); 
    3335                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     36                mp.closeMail(id + "_r", false); 
     37                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     38                                EMAIL_ASSUNTO_SALVAR)); 
    3439        } 
    3540} 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailSemDestinatarioTestCase.java

    r3782 r4344  
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
    44import org.testng.annotations.Test; 
    5  
    65 
    76/** 
     
    1211 * Link: http://testlink.expressolivre.org/linkto.php?tprojectPrefix=EL&item= 
    1312 * testcase&id=EL-535 
     13 *  
     14 * TODO NAO RODAR! Pendente unificacao com comunidade (09-Mai-11) 
    1415 *  
    1516 * @author L.F.Estivalet (Serpro) 
     
    2324         * Executa teste. 
    2425         */ 
    25         @Test 
     26        @Test(enabled = false) 
    2627        public void test() { 
    2728                mp.composeEmail("", EMAIL_ASSUNTO, EMAIL_TEXTO); 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailSomenteCopiaOcultaTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223 
    2324        /** 
    24          * Executa o teste. 
     25         * Executa o teste. Apos envio, verifica se o email foi movido para a pasta 
     26         * de emails enviados. 
    2527         */ 
    2628        @Test 
     
    3234                mp.sendMail(); 
    3335                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     36                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     37                                EMAIL_ASSUNTO_SOMENTE_COPIA_OCULTA)); 
    3438        } 
    3539} 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailSomenteCopiaTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    3132                mp.sendMail(); 
    3233                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     34                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     35                                EMAIL_ASSUNTO_SOMENTE_COPIA)); 
     36 
    3337        } 
    3438} 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/EnviarEmailTestCase.java

    r3782 r4344  
    22 
    33import org.expressolivre.cte.common.BaseEmailTestCase; 
     4import org.expressolivre.cte.pages.email.MailPage; 
     5import org.testng.Assert; 
    46import org.testng.annotations.Test; 
    5  
    67 
    78/** 
     
    2223        /** 
    2324         * Executa o teste. Envia mensagem para email, assunto e texto pre-definidos 
    24          * no arquivo de configuracao. 
     25         * no arquivo de configuracao. Apos envio, verifica se o email foi movido 
     26         * para a pasta de emails enviados. 
    2527         */ 
    2628        @Test 
     
    2931                mp.sendMail(); 
    3032                mp.assertMessage(MSG_EMAIL_ENVIADO); 
     33                Assert.assertNotNull(mp.findEmailIdBySubject(MailPage.SENT_FOLDER, 
     34                                EMAIL_ASSUNTO)); 
    3135        } 
    3236} 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/SalvarEmailSomenteCopiaOcultaTestCase.java

    r3853 r4344  
    4848                int spanOpen = body.indexOf("<span>") + 7; 
    4949                int spanClose = body.lastIndexOf("</span>") - 1; 
    50                 body = body.substring(spanOpen, spanClose); 
     50                body = body.substring(spanOpen, spanClose).trim(); 
    5151                Assert.assertEquals(EMAIL_TEXTO_SALVAR_SOMENTE_COPIA_OCULTA, body); 
    5252 
    53                 mp.closeMail(id); 
     53                mp.closeMail(id, false); 
    5454        } 
    5555 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/email/compor/SalvarEmailSomenteCopiaTestCase.java

    r3853 r4344  
    4747                int spanOpen = body.indexOf("<span>") + 7; 
    4848                int spanClose = body.lastIndexOf("</span>") - 1; 
    49                 body = body.substring(spanOpen, spanClose); 
     49                body = body.substring(spanOpen, spanClose).trim(); 
     50 
    5051                Assert.assertEquals(EMAIL_TEXTO_SALVAR_SOMENTE_COPIA, body); 
    5152 
    52                 mp.closeMail(id); 
     53                mp.closeMail(id, false); 
    5354        } 
    5455 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/common/Page.java

    r3782 r4344  
    8686        } 
    8787 
     88        public boolean isNotDisplayed(RenderedWebElement e) { 
     89                // Up to 10 times 
     90                for (int i = 0; i < 10; i++) { 
     91                        // Check whether our element is visible yet 
     92                        if (!e.isDisplayed()) { 
     93                                return true; 
     94                        } 
     95 
     96                        try { 
     97                                Thread.sleep(1000); 
     98                        } catch (InterruptedException ex) { 
     99                                // Try again 
     100                        } 
     101                } 
     102                return false; 
     103        } 
     104 
    88105        /** 
    89106         * @param id 
  • devel/testlink/automation2.0/src/test/java/org/expressolivre/cte/pages/email/MailPage.java

    r3853 r4344  
    1919public class MailPage extends Page { 
    2020 
     21        /** Botao para criar novo email. */ 
    2122        @FindBy(xpath = "//table[@id='folders_tbl']/tbody/tr[1]/td/table/tbody/tr[2]/td/div/span") 
    2223        private WebElement newEmail; 
    2324 
     25        /** Campo "Para:". */ 
    2426        @FindBy(id = "to_1") 
    2527        private WebElement to; 
    2628 
     29        /** Campo "Assunto:". */ 
    2730        @FindBy(id = "subject_1") 
    2831        private WebElement subject; 
    2932 
     33        /** Botao para enviar email. */ 
    3034        @FindBy(id = "send_button_1") 
    3135        private WebElement send; 
    3236 
     37        /** Flag de importante no momento de compor um email. */ 
    3338        @FindBy(id = "important_message_1") 
    34         /** Flag de importante no momento de compor um email. */ 
    3539        private WebElement important; 
    3640 
     41        /** Flag de importante de um email aberto. */ 
    3742        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/span[3]") 
    38         /** Flag de importante de um email aberto. */ 
    3943        private WebElement importantFlag; 
    4044 
     45        /** Filtra emails importantes. */ 
    4146        @FindBy(id = "span_flag_FLAGGED") 
    42         /** Filtra emails importantes. */ 
    4347        private WebElement importantFilter; 
    4448 
     49        /** Flag normal de um email aberto. */ 
    4550        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/span[3]") 
    4651        private WebElement normalFlag; 
    4752 
     53        /** Flag nao lido de um email aberto. */ 
    4854        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/span[2]") 
    4955        private WebElement notReadFlag; 
    5056 
     57        /** Checkbox de confirmacao de leitura. */ 
    5158        @FindBy(id = "return_receipt_1") 
    5259        private WebElement returnReceipt; 
    5360 
     61        /** Link para acionar exibicao do campo copia oculta Cco. */ 
    5462        @FindBy(id = "a_cco_link_1") 
    5563        private WebElement blindCarbonCopyLink; 
    5664 
     65        /** Campo copia oculta "Cco:". */ 
    5766        @FindBy(id = "cco_1") 
    5867        private WebElement blindCarbonCopy; 
    5968 
     69        /** Link para acionar exibicao do campo copia Cc. */ 
    6070        @FindBy(id = "a_cc_link_1") 
    6171        private WebElement carbonCopyLink; 
    6272 
     73        /** Campo copia "Cc:". */ 
    6374        @FindBy(id = "cc_1") 
    6475        private WebElement carbonCopy; 
    6576 
     77        /** Link para salvar email. */ 
    6678        @FindBy(id = "save_message_options_1") 
    6779        private WebElement saveEmail; 
    6880 
     81        /** Link para adicionar anexos ao email. */ 
    6982        @FindBy(linkText = "Anexos: adicionar+") 
    7083        private WebElement attachmentLink; 
    7184 
     85        /** Link para adicionar 1o anexo. */ 
    7286        @FindBy(id = "inputFile_1_1") 
    7387        private WebElement attachment; 
    7488 
     89        /** Link para adicionar 2o anexo. */ 
    7590        @FindBy(id = "inputFile_1_2") 
    7691        private WebElement attachment2; 
    7792 
     93        /** Link para remover anexo. */ 
     94        @FindBy(id = "linkFile_1_1") 
     95        private WebElement removeAttachmentLink; 
     96 
     97        /** Link para apagar email quando este estiver aberto. */ 
    7898        @FindBy(xpath = "//div[@id='footer_menu']/table[@id='footer_box']/tbody/tr[@id='table_message']/td[@id='span_options']/span[1]/span") 
    7999        private WebElement deleteEmailLink; 
    80100 
     101        /** Link para pasta lixeira. */ 
    81102        @FindBy(id = "lINBOX/Trashtree_folders") 
    82103        private WebElement trashFolder; 
    83104 
     105        /** Link para limpar lixeira. */ 
    84106        @FindBy(id = "empty_trash") 
    85107        private WebElement emptyTrashLink; 
     
    88110        private WebElement emailsListDiv; 
    89111 
     112        /** Campo contendo total de emails de uma pasta. */ 
    90113        @FindBy(id = "tot_m") 
    91114        private WebElement totalEmails; 
     
    94117        private WebElement emailTab; 
    95118 
     119        /** Checkbox para selecao de todos emails de uma pasta. */ 
    96120        @FindBy(id = "chk_box_select_all_messages") 
    97121        private WebElement selectAllEmails; 
    98122 
     123        /** Link para acionar o menu Ferramentas. */ 
    99124        @FindBy(xpath = "//td[@id='link_tools']/div/span") 
    100125        private WebElement toolsMenu; 
     
    116141        private WebElement moveEmailButton; 
    117142 
     143        /** Link para encaminhar em email aberto. */ 
    118144        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[3]/span[3]") 
    119145        private WebElement forwardEmail; 
    120146 
     147        /** Link para responder em email aberto. */ 
    121148        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td[3]/span[5]") 
    122149        private WebElement replyEmail; 
    123150 
     151        /** Link para responder a todos em email aberto. */ 
    124152        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[2]/td/div/span[1]") 
    125153        private WebElement replyAllEmail; 
    126154 
     155        /** Link para responder sem historico em email aberto. */ 
    127156        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[2]/td/div/span[2]") 
    128157        private WebElement replyEmailWithoutHistory; 
    129158 
     159        /** Link para responder a todos sem historico em email aberto. */ 
    130160        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr[2]/td/div/span[3]") 
    131161        private WebElement replyAllEmailWithoutHistory; 
    132162 
     163        /** Link para editar email na pasta de rascunhos. */ 
    133164        @FindBy(xpath = "//div[@id='exmail_main_body']/div[2]/table/tbody/tr[1]/td/table/tbody/tr/td[2]/span[2]/span[1]") 
    134165        private WebElement editEmail; 
     
    140171        private WebElement discardNewEmail; 
    141172 
     173        /** 
     174         * Esse botao eh no alerta ao fechar uma mensagem nao salva e nao o botao 
     175         * salvar para rascunhos. 
     176         */ 
    142177        @FindBy(xpath = "//div[@id='lertContainer']/div[@id='lertWindow']/div[@id='lertButtons']/a[3]") 
    143         /** Esse botao eh no alerta ao fechar uma mensagem nao salva e nao o botao salvar para rascunhos. */ 
    144178        private WebElement saveNewEmail; 
     179 
     180        /** Nome da pasta "Caixa de Entrada". */ 
     181        public static final String INBOX_FOLDER = "lINBOXtree_folders"; 
     182 
     183        /** Nome da pasta "Enviados". */ 
     184        public static final String SENT_FOLDER = "lINBOX/Senttree_folders"; 
    145185 
    146186        /** 
     
    151191        } 
    152192 
     193        /** 
     194         * Cria um novo email. 
     195         */ 
    153196        public void createNewEmail() { 
    154197                this.newEmail.click(); 
     
    156199        } 
    157200 
     201        /** 
     202         * Cancela criacao de novo email. 
     203         */ 
    158204        public void cancelNewEmail() { 
    159205                this.cancelNewEmail.click(); 
    160206        } 
    161207 
     208        /** 
     209         * Descarta criacao de novo email. 
     210         */ 
    162211        public void discardNewEmail() { 
    163212                this.discardNewEmail.click(); 
    164213        } 
    165214 
     215        /** 
     216         * Salva email na pasta rascunhos. 
     217         */ 
    166218        public void saveNewEmail() { 
    167219                this.saveNewEmail.click(); 
    168220        } 
    169221 
     222        /** 
     223         * Preenche campo assunto. 
     224         *  
     225         * @param subject 
     226         *            Assunto a ser preenchido. 
     227         */ 
    170228        public void setSubject(String subject) { 
    171229                this.subject.sendKeys(subject != null ? subject : ""); 
    172230        } 
    173231 
     232        /** 
     233         * Preenche corpo (texto) do email. 
     234         *  
     235         * @param body 
     236         *            Texto a ser preenchido. 
     237         */ 
    174238        public void setBody(String body) { 
    175239                // Foi o unico jeito que consegui pegar o richtexteditor... 
    176240                if (body != null) { 
     241                        // Troca CR&|LF por <br> 
     242                        body = body.replaceAll("(\r\n|\r|\n|\n\r)", "<br>"); 
    177243                        ((JavascriptExecutor) driver) 
    178244                                        .executeScript("document.getElementById('body_1').contentWindow.document.body.innerHTML='" 
     
    195261        public String readEmail(String subject) { 
    196262                // waitForElementByXpath("//div[@id='exmail_main_body']/table[1]/tbody[@id='border_tbody']/tr[1]/td[2]/table/tbody/tr/td[1]"); 
    197                 String id = findEmailIdBySuject(subject); 
     263                String id = findEmailIdBySubject(subject); 
    198264                id = id.substring(id.lastIndexOf("_") + 1); 
    199265                clickElement(By.id("td_who_" + id)); 
     
    302368        public void openFolder(String folder) { 
    303369                clickElement(By.id(folder)); 
     370                // Espera pelo "Carregando..." aparecer. 
     371                waitForElement(By.id("divProgressBar")); 
    304372                waitForElement(By.id("divScrollMain_0")); 
     373                // Espera pelo "Carregando..." desaparecer. 
     374                isNotDisplayed(this 
     375                                .waitFindElement(By.id("divProgressBar"), 5000, 1000)); 
    305376                waitForElement(By 
    306377                                .xpath("//div[@id='divScrollMain_0']/table[@id='table_box']/tbody[@id='tbody_box']/tr[1]/td[1]/input[1]")); 
     
    318389        } 
    319390 
     391        /** 
     392         * Filtra somente as mensagens importantes. 
     393         */ 
    320394        public void setImportantFilter() { 
    321395                this.importantFilter.click(); 
     
    337411        } 
    338412 
     413        /** 
     414         * Move email para um pasta no servidor. 
     415         *  
     416         * @param folderName 
     417         *            Nome da pasta pre-existente no servidor. 
     418         */ 
    339419        public void moveEmail(String folderName) { 
    340420                this.moveEmailLink.click(); 
     
    343423        } 
    344424 
     425        /** 
     426         * Edita nome de pasta. 
     427         */ 
    345428        public void editFolder() { 
    346429                this.toolsMenu.click(); 
     
    350433        } 
    351434 
     435        /** 
     436         * Cria nova pasta. 
     437         *  
     438         * @param folderName 
     439         *            Nome da pasta a ser criada. 
     440         */ 
    352441        public void createNewFolder(String folderName) { 
    353442                this.editFolder(); 
     
    359448        } 
    360449 
     450        /** 
     451         * Exclui pasta. 
     452         *  
     453         * @param folderName 
     454         *            Nome da pasta a ser excluida. 
     455         */ 
    361456        public void deleteFolder(String folderName) { 
    362457                this.editFolder(); 
     
    377472        } 
    378473 
     474        /** 
     475         * Marca email como importante apos ler. 
     476         */ 
    379477        public void setImportantFlag() { 
    380478                this.waitForElement(By 
     
    383481        } 
    384482 
     483        /** 
     484         * Marca email como normal apos ler. 
     485         */ 
    385486        public void setNormalFlag() { 
    386487                this.waitForElement(By 
     
    389490        } 
    390491 
     492        /** 
     493         * Marca email como nao lido apos ler. 
     494         */ 
    391495        public void setNotReadFlag() { 
    392496                this.waitForElement(By 
     
    419523        } 
    420524 
     525        /** 
     526         * Seleciona todos emails da pasta corrente. 
     527         */ 
    421528        public void selectAllEmails() { 
    422529                this.selectAllEmails.click(); 
     
    456563        } 
    457564 
     565        /** 
     566         * Remove anexo do email sendo composto. 
     567         */ 
     568        public void removeAttachment() { 
     569                this.removeAttachmentLink.click(); 
     570        } 
     571 
    458572        public void addAttachment2(String attachment) { 
    459573                this.attachmentLink.click(); 
     
    476590 
    477591        /** 
    478          * @param checkAlert 
    479          */ 
    480         public void closeMail(boolean checkAlert) { 
     592         * @param discardEmail 
     593         */ 
     594        public void closeMail(boolean discardEmail) { 
    481595 
    482596                // Na versao Serpro: 
     
    489603                super.clickElement(By.xpath("//td[@id='border_id_1']//img")); 
    490604 
    491                 if (checkAlert) { 
    492                         Alert closeAlert = driver.switchTo().alert(); 
    493                         closeAlert.accept(); 
     605                // if (checkAlert) { 
     606                // Alert closeAlert = driver.switchTo().alert(); 
     607                // closeAlert.accept(); 
     608                // } 
     609 
     610                // Clica em descartar. 
     611                if (discardEmail) { 
     612                        super.clickElement(By 
     613                                        .xpath("//div[@id='lertWindow']/div[@id='lertButtons']/a[2]")); 
    494614                } 
    495615        } 
    496616 
    497         public void closeMail(String id) { 
     617        public void closeMail(String id, boolean discardEmail) { 
    498618                super.clickElement(By.xpath("//td[@id='border_id_" + id + "']//img")); 
    499         } 
    500  
     619                // Clica em cancelar 
     620                if (discardEmail) { 
     621                        super.clickElement(By 
     622                                        .xpath("//div[@id='lertWindow']/div[@id='lertButtons']/a[2]")); 
     623                } 
     624        } 
     625 
     626        /** 
     627         * Envia email. 
     628         *  
     629         * @param id 
     630         *            Id do email a ser enviado. 
     631         */ 
    501632        public void sendMail(String id) { 
    502633                super.findAndClickElement("send_button_" + id); 
     
    525656         * @param select 
    526657         *            Se email encontrado, deseja seleciona-lo? 
    527          * @return "id" do email. 
     658         * @return "id" do email se encontrar, <code>null</code> se nao encontrar. 
    528659         */ 
    529660        public String findEmailIdBySuject(String subject, boolean select) { 
     661                System.out.println("searching for --------->" + subject); 
    530662                String html = driver.getPageSource(); 
    531                 String part1 = StringUtils.substringBefore(html, subject); 
    532                 int start = StringUtils.lastIndexOf(part1, "id=\"") + 4; 
    533                 int last = StringUtils.indexOf(part1, "\"", start); 
    534                 String id = StringUtils.substring(part1, start, last); 
    535  
    536                 if (select) { 
    537                         // Marca checkbox correspondente ao id da mensagem. 
    538                         clickElement(By.id("check_box" + id.substring(1))); 
     663                // System.out.println(html.indexOf(subject)); 
     664                // System.out.println(html); 
     665                if (html.indexOf(subject) >= 0) { 
     666                        String part1 = StringUtils.substringBefore(html, subject); 
     667                        int start = StringUtils.lastIndexOf(part1, "id=\"") + 4; 
     668                        int last = StringUtils.indexOf(part1, "\"", start); 
     669                        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); 
     677                        if (select) { 
     678                                // Marca checkbox correspondente ao id da mensagem. 
     679                                clickElement(By.id("check_box" + id.substring(1))); 
     680                        } 
     681                        return id; 
    539682                } 
    540                 return id; 
     683                return null; 
    541684        } 
    542685 
     
    570713        } 
    571714 
    572         public String findEmailIdBySuject(String subject) { 
     715        /** 
     716         * Procura email baseado no assunto na pasta corrente. 
     717         *  
     718         * @param subject 
     719         *            Assunto a ser pesquisado. 
     720         * @return Id do email encontrado. 
     721         */ 
     722        public String findEmailIdBySubject(String subject) { 
     723                return findEmailIdBySuject(subject, false); 
     724        } 
     725 
     726        /** 
     727         * Procura email baseado no assunto em uma pasta especifica. 
     728         *  
     729         * @param folder 
     730         *            Pasta de pesquisa. 
     731         * @param subject 
     732         *            Assunto a ser pesquisado. 
     733         * @return Id do email encontrado. 
     734         */ 
     735        public String findEmailIdBySubject(String folder, String subject) { 
     736                this.openFolder(folder); 
    573737                return findEmailIdBySuject(subject, false); 
    574738        } 
     
    619783        } 
    620784 
     785        /** 
     786         * @param id 
     787         *            Id do email. 
     788         * @return Texto do email. 
     789         */ 
    621790        public Object getBody(String id) { 
    622791                waitForElement(By.id("body_" + id)); 
  • devel/testlink/automation2.0/src/test/resources/config.properties

    r4058 r4344  
    1 url=https://10.30.202.205 
    2 user=teste1.mp 
    3 passwd=teste 
     1#url=https://10.30.202.205 
     2#user=teste1.mp 
     3#passwd=teste 
    44 
     5# Usuario normal 
    56#url=https://cte.serpro.gov.br 
    67#user=luiz-fernando.estivalet 
    78#passwd=senha 
    89 
    9 config.email=email.preferences_mp.properties 
     10# Usuario admin 
     11url=https://cte.serpro.gov.br 
     12user=expresso-admin 
     13passwd=cte@comunidade 
     14 
     15# Arquivo de configuracao a ser utilizado dependendo do servidor (url) acima 
     16#config.email=email.preferences_mp.properties 
     17config.email=email.preferences_comunidade_cte.properties 
     18config.email.admin=email.admin.preferences.properties 
  • devel/testlink/automation2.0/src/test/resources/valores.properties

    r4058 r4344  
    1919anexo.2=/home/luiz/Desktop/arquivo2.txt 
    2020assunto=[SELENIUM] Teste envio mensagem 
     21assunto.100k=[SELENIUM] Teste envio mensagem corpo + 100k 
    2122assunto.salvar=[SELENIUM] Teste salvar mensagem 
    2223assunto.salvar.somente.copia=[SELENIUM] Teste salvar somente cópia 
     
    3031assunto.confirmacao.leitura=[SELENIUM] Teste com confirmação de leitura 
    3132assunto.copia=[SELENIUM] Teste envio mensagem com cópia 
    32 assunto.copia.oculta=[SELENIUM] Teste envio mensagem com cópia oculta  
     33assunto.copia.oculta=[SELENIUM] Teste envio mensagem com cópia oculta 
    3334assunto.somente.copia=[SELENIUM] Teste envio mensagem somente cópia 
    3435assunto.somente.copia.oculta=[SELENIUM] Teste mensagem somente cópia oculta 
Note: See TracChangeset for help on using the changeset viewer.