package org.expressolivre.cte.pages.calendar; import org.expressolivre.cte.pages.common.Page; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; /** * @author L.F.Estivalet (Serpro) * * Created on Aug 2, 2011 at 3:22:59 PM * */ public class AppointmentSearchResultPage extends Page { /** Texto contendo numero de resultados encontrados. */ @FindBy(xpath = "/html/body[1]/div[@id='divSubContainer']/table/tbody/tr/td[@id='tdAppbox']/div[@id='divAppbox']/table[@id='tableDivAppbox']/tbody/tr/td/table[@id='calendar_search_table']/tbody/tr[1]/td/b") private WebElement resultsNumber; /** * @param driver */ public AppointmentSearchResultPage(WebDriver driver) { super(driver); // TODO Auto-generated constructor stub } /** * @return Texto informando o numero de resultados encontrados. */ public String getResultsNumber() { return this.resultsNumber.getText(); } /** * O primeiro resultado comeca na linha 2 da tabela (por isso o +1). * * @param row * @return */ public String getAppointmentSchedule(int row) { return super.getDisplayedElementContent(By .xpath("//table[@id='calendar_search_table']/tbody/tr[" + (row + 1) + "]/td[1]")); } /** * O primeiro resultado comeca na linha 2 da tabela (por isso o +1). * * @param row * @return */ public String getAppointmentDescription(int row) { return super .getDisplayedElementContent(By .xpath("//table[@id='calendar_search_table']/tbody/tr[" + (row + 1) + "]/td[2]/div[@id='calendar_event_entry']")); } /** * O primeiro resultado comeca na linha 2 da tabela (por isso o +1). * * @param row * @return */ public AppointmentViewPage editAppointment(int row) { super.findAndClickElement(By .xpath("//table[@id='calendar_search_table']/tbody/tr[" + (row + 1) + "]/td[2]/div[@id='calendar_event_entry']/a")); return PageFactory.initElements(driver, AppointmentViewPage.class); } }