Olá pessoal, estou com uma pequena dificuldade ao incrementar um FOR quando ele for executado. Segue o código:
public class SolicitaReservaVooSite
{
public IWebDriver driver;
public String baseURL;
public int IncrementMonth = 3;
[TestFixtureSetUp]
public void Setup()
{
baseURL = "http://teste.com.br/";
driver = new ChromeDriver(@"D:\automatedtests\tools\drivers");
driver.Manage().Window.Maximize();
}
[Test]
public void a_AcessarSistema()
{
driver.Navigate().GoToUrl(baseURL);
}
[Test]
public void b_EfetuarPesquisa()
{
driver.FindElement(By.Id("rbtOnlyWay")).Click();
driver.FindElement(By.Id("p_lt_ctl03_pageplaceholder_p_lt_ctl01_Buscador_txtDeparture_txtDescription")).SendKeys("bage");
WebDriverWait esperaAutoPreenchimentoOrigem = new WebDriverWait(driver, TimeSpan.FromSeconds(3));
esperaAutoPreenchimentoOrigem.Until(ExpectedConditions.ElementIsVisible(By.ClassName("ac_results")));
driver.FindElement(By.ClassName("ac_even")).Click();
driver.FindElement(By.Id("p_lt_ctl03_pageplaceholder_p_lt_ctl01_FSXBuscador_txtArrival_txtDescription")).SendKeys("miami");
WebDriverWait esperaAutoPreenchimentoDestino = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
esperaAutoPreenchimentoDestino.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@class='ac_even ac_over']")));
driver.FindElement(By.XPath("//*[@class='ac_even ac_over']")).Click();
driver.FindElement(By.Id("p_lt_ctl03_pageplaceholder_p_lt_ctl01_FSXBuscador_txtDepartureDateAero")).Click();
for (int i = 0; i < IncrementMonth; i++)
{
driver.FindElement(By.CssSelector("span.ui-icon.ui-icon-circle-triangle-e")).Click();
}
driver.FindElement(By.XPath("//td[1]/a")).Click();
System.Threading.Thread.Sleep(1000);
driver.FindElement(By.Id("btnSearchFSX")).Click();
}
[Test]
public void d_RetornaResultados()
{
System.Threading.Thread.Sleep(10000);
try
{
driver.FindElement(By.ClassName("resultado-voos-item-reservar")).Click();
}
catch (NoSuchElementException)
{
driver.Navigate().GoToUrl(baseURL);
driver.FindElement(By.Id("p_lt_ctl03_pageplaceholder_p_lt_ctl01_FSXBuscador_txtDeparture_txtDescription")).Clear();
driver.FindElement(By.Id("p_lt_ctl03_pageplaceholder_p_lt_ctl01_FSXBuscador_txtArrival_txtDescription")).Clear();
b_EfetuarPesquisa();
IncrementMonth++;
}
}
Bom, na primeira vez que executa o FOR, é incrementado com sucesso, porém quando executa o
catch (NoSuchElementException)
eu preciso que incremente mais uma vez a cada vez que entrar neste catch, mas o
IncrementMonth++;
não está funcionando. Isto é C# mas a lógica tenho certeza que é parecida com a de java[color=red] [/color]
Alguma luz?
Obrigado.