/** * Autor : Alexandre Correia - alexandrecorreia@celepar.pr.gov.br * Data : 00/00/0000 * Caso de Teste : EL-943 : Adicionar Compromisso Com Repeticao Semanal * * Descrição do Processo de Teste Cadastro no TestLink - http://testlink.expressolivre.org/ * * AÇÕES DO PASSO * 1 . Usuário informa um título para o compromisso * 2 . Usuário seleciona opção para repetição semanal do compromisso; * 3 . Usuário marca opção de data final para a repetição do compromisso; * 4 . Usuário seleciona uma data final de repetição do compromisso, essa data deve ser superior a data de início; * 5 . Usuário pressiona opção para salvar o compromisso * 6 . Sistema retorna erro informando que os dias da semana em que o compromisso deve se repetir precisam ser informados * 7 . Usuário marca os dias da semana em que deseja que o compromisso se repita e salva compromisso * 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 * 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 */ package br.gov.serpro.cte.agenda.casoteste; import java.util.GregorianCalendar; import org.junit.After; import org.junit.Before; import org.junit.Test; import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.CampoRequisitado; import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.Campo; import br.gov.serpro.cte.agenda.Objetos.AdicionarCompromissoEL943.Valor; import br.gov.serpro.cte.connection.DAOSelenium; import br.gov.serpro.cte.connection.LoginExpresso; import com.thoughtworks.selenium.SeleneseTestCase; public class Test_EL_943_AdicionarCompromissoComRepeticaoSemanal extends SeleneseTestCase { @Before public void setUp() throws Exception { String url = "https://cte.serpro.gov.br"; DAOSelenium conn = new DAOSelenium( "localhost", 4444, "*pifirefox", url); selenium = conn.newConnection(); } @Test public void testa() { // Logando No Expresso selenium.open("/login.php"); selenium.type("user", LoginExpresso.USER_EXPRESSO.getValue()); selenium.type("passwd", LoginExpresso.PASSWORD_EXPRESSO.getValue()); selenium.click("submitit"); selenium.waitForPageToLoad("30000"); selenium.click("//html/body/div[@id='toolbar']/table/tbody/tr/td[2]/table/tbody/tr/td[3]/a/img[@id='calendarid']"); // Data GregorianCalendar gc = new GregorianCalendar(); String Dia = String.valueOf( gc.get( gc.DAY_OF_MONTH ) ); Dia = ( Dia.length() > 1 ) ? Dia : "0"+Dia; String Mes = String.valueOf( gc.get( gc.MONTH ) + 1 ); String Ano = String.valueOf( gc.get( gc.YEAR ) ); //Adicionando um Evento selenium.open("/index.php?date=" + Ano + Mes + Dia + "&menuaction=calendar.uicalendar.week"); selenium.click("//img[@title='Nova Entrada']"); selenium.waitForPageToLoad("30000"); for( Campo cmp : Campo.values() ) { String cmpName = cmp.name(); if( cmp.getValue().indexOf("addSelection:") > -1 ) { AddSelection( cmp.getValue(), getValor( cmp.name() ) ); } if( cmp.getValue().indexOf("click:") > -1 ) { Click( cmp.getValue() ); } if( cmp.getValue().indexOf("select:") > -1 ) { Select( cmp.getValue(), getValor( cmp.name() ) ); } if( cmp.getValue().indexOf("type:") > -1 ) { Type( cmp.getValue(), getValor( cmp.name() ) ); } } selenium.waitForPageToLoad("15000"); // Verifica a Mensagem de Erro if( selenium.isTextPresent("Você deve informar os dias da semana para repetição do agendamento.") ) { for( CampoRequisitado cmpRe : CampoRequisitado.values() ) { String cmpName = cmpRe.name(); if( cmpRe.getValue().indexOf("click:") > -1 ) { Click( cmpRe.getValue() ); } } selenium.waitForPageToLoad("10000"); //Volta a visualização assertTrue(selenium.getHtmlSource().contains("
Agenda de Eventos
")); } } public String getValor(String cmpName) { String _return = ""; for( Valor vlr : Valor.values() ) { String vlrName = vlr.name(); if( vlrName.equals( cmpName ) ) { _return = vlr.getValue(); } } return _return; } public void AddSelection( String locator, String optionLocator ) { selenium.addSelection( locator.substring( 13 , locator.length() ), optionLocator ); } public void Click( String locator ) { selenium.click( locator.substring( 6 , locator.length() ) ); } public void Select( String selectLocator, String optionLocator ) { selenium.select( selectLocator.substring( 7 , selectLocator.length() ), optionLocator ); } public void Type( String locator, String value ) { selenium.type( locator.substring( 5 , locator.length() ), value ); } @After public void tearDown() throws Exception { selenium.close(); } }