source: devel/testlink/calendar/FUN03.2/src/test/java/br/gov/serpro/cte/agenda/casoteste/Test_EL_943_AdicionarCompromissoComRepeticaoSemanal.java @ 3487

Revision 3487, 4.9 KB checked in by alexandrecorreia, 13 years ago (diff)

Ticket #1394 - Caso de Teste EL-943 ( Adicionar compromisso com repeticao semanal )

Line 
1/**
2 * Autor                        : Alexandre Correia - alexandrecorreia@celepar.pr.gov.br
3 * Data                         : 00/00/0000
4 * Caso de Teste        : EL-943 : Adicionar Compromisso Com Repeticao Semanal
5 *
6 * Descrição do Processo de Teste Cadastro no TestLink - http://testlink.expressolivre.org/
7 *
8 * AÇÕES DO PASSO
9 * 1 . Usuário informa um título para o compromisso
10 * 2 . Usuário seleciona opção para repetição semanal do compromisso;
11 * 3 . Usuário marca opção de data final para a repetição do compromisso;
12 * 4 . Usuário seleciona uma data final de repetição do compromisso, essa data deve ser superior a data de início;
13 * 5 . Usuário pressiona opção para salvar o compromisso
14 * 6 . Sistema retorna erro informando que os dias da semana em que o compromisso deve se repetir precisam ser informados
15 * 7 . Usuário marca os dias da semana em que deseja que o compromisso se repita e salva compromisso
16 * 8 . Sistema salva o compromisso e retorna para a tela da agenda de eventos utilizando a visualização padrão configurada nas preferências do Usuário
17 * 9 . Sistema exibe o mesmo compromisso em todos os dias da semana selecionados pelo usuário mostrando o horário inicial e final, o título do compromisso e local e com um ícone especial indicando que se trata de um compromisso recorrente
18 */
19
20package br.gov.serpro.cte.agenda.casoteste;
21
22import java.util.GregorianCalendar;
23
24import org.junit.After;
25import org.junit.Before;
26import org.junit.Test;
27
28import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.CampoRequisitado;
29import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.Campo;
30import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.Valor;
31import br.gov.serpro.cte.connection.DAOSelenium;
32import br.gov.serpro.cte.connection.LoginExpresso;
33
34import com.thoughtworks.selenium.SeleneseTestCase;
35
36public class Test_EL_943_AdicionarCompromissoComRepeticaoSemanal extends SeleneseTestCase
37{
38        @Before
39        public void setUp() throws Exception
40        {
41                String url                      = "https://cte.serpro.gov.br";
42                DAOSelenium conn        = new DAOSelenium( "localhost", 4444, "*pifirefox", url);
43                selenium                        = conn.newConnection();
44        }
45        @Test
46        public void testa()
47        {
48                // Logando No Expresso
49                selenium.open("/login.php");
50                selenium.type("user", LoginExpresso.USER_EXPRESSO.getValue());
51                selenium.type("passwd", LoginExpresso.PASSWORD_EXPRESSO.getValue());
52                selenium.click("submitit");
53                selenium.waitForPageToLoad("30000");
54                selenium.click("//html/body/div[@id='toolbar']/table/tbody/tr/td[2]/table/tbody/tr/td[3]/a/img[@id='calendarid']");
55               
56                // Data
57                GregorianCalendar gc = new GregorianCalendar();
58                String  Dia = String.valueOf( gc.get( gc.DAY_OF_MONTH ) );
59                                Dia = ( Dia.length() > 1 ) ? Dia : "0"+Dia;
60               
61                String  Mes = String.valueOf( gc.get( gc.MONTH ) + 1 );
62               
63                String  Ano = String.valueOf( gc.get( gc.YEAR ) );
64               
65                //Adicionando um Evento
66                selenium.open("/index.php?date=" + Ano + Mes + Dia + "&menuaction=calendar.uicalendar.week");
67                selenium.click("//img[@title='Nova Entrada']");
68                selenium.waitForPageToLoad("30000");
69               
70                for( Campo cmp : Campo.values() )
71                {
72                        String cmpName = cmp.name();
73                                 
74                        if( cmp.getValue().indexOf("addSelection:") > -1 )
75                        {       
76                                AddSelection( cmp.getValue(), getValor( cmp.name() ) );
77                        }
78                       
79                        if( cmp.getValue().indexOf("click:") > -1 )
80                        {
81                                Click( cmp.getValue() );
82                        }
83                       
84                        if( cmp.getValue().indexOf("select:") > -1 )
85                        {
86                                Select( cmp.getValue(), getValor( cmp.name() ) );
87                        }
88                       
89                        if( cmp.getValue().indexOf("type:") > -1 )
90                        {
91                                Type( cmp.getValue(), getValor( cmp.name() ) );
92                        }
93                }
94               
95                selenium.waitForPageToLoad("15000");
96               
97                // Verifica a Mensagem de Erro
98                if( selenium.isTextPresent("Você deve informar os dias da semana para repetição do agendamento.") )
99                {       
100                        for( CampoRequisitado cmpRe : CampoRequisitado.values() )
101                        {
102                                String cmpName = cmpRe.name();
103                               
104                                if( cmpRe.getValue().indexOf("click:") > -1 )
105                                {
106                                        Click( cmpRe.getValue() );
107                                }
108                        }
109                       
110                        selenium.waitForPageToLoad("10000");
111                       
112                        //Volta a visualização
113                        assertTrue(selenium.getHtmlSource().contains("<div id=\"divAppboxHeader\">Agenda de Eventos</div>"));
114                       
115                }
116               
117        }
118       
119        public String getValor(String cmpName)
120        {
121                String _return = "";
122               
123                for( Valor vlr : Valor.values() )
124                {
125                         String vlrName = vlr.name();
126                         
127                         if( vlrName.equals( cmpName ) )
128                         {
129                                 _return = vlr.getValue();
130                         }
131                }
132               
133                return _return;
134        }
135       
136        public void AddSelection( String locator, String optionLocator )
137        {
138                selenium.addSelection( locator.substring( 13 , locator.length() ), optionLocator );
139        }
140       
141        public void Click( String locator )
142        {
143                selenium.click( locator.substring( 6 , locator.length() ) );
144        }
145
146        public void Select( String selectLocator, String optionLocator )
147        {
148                selenium.select( selectLocator.substring( 7 , selectLocator.length() ), optionLocator );
149        }
150
151        public void Type( String locator, String value )
152        {
153                selenium.type( locator.substring( 5 , locator.length() ), value );
154        }
155       
156        @After
157        public void tearDown() throws Exception
158        {
159                selenium.close();
160        }
161}
Note: See TracBrowser for help on using the repository browser.