Olá, Uma ajuda!
Após executar o teste de logout desta aula, não esta passando o teste. E após analisar identifiquei após o objeto Action ser criado e executa o action.perform(). O sistema continua com o drive.pagesource com o codigo da pagina interessado, quando o esperado seria constar a pagina home, após ter sido clicado no logout.
Segue teste:
[Fact]
public void DadoLoginValidoDeveIrParaHomeNãoLogado()
{
//arrange
var loginPO = new LoginPO(driver);
loginPO.Visitar();
loginPO.PreencheFormulario("fulano@example.org", "123");
loginPO.SubmeteFormulario();
//act
var dashboardPO = new DashboardInteressadaPO(driver);
dashboardPO.EfetuarLogout();
//assert
Assert.Contains("Próximos Leilões", driver.PageSource);
}
Segue o Metodo da PageObject desta classe de teste.
public class DashboardInteressadaPO
{
private IWebDriver driver;
private By byLogoutLink;
private By byMeuPerfilLink;
public DashboardInteressadaPO(IWebDriver driver)
{
this.driver = driver;
byLogoutLink = By.Id("logout");
byMeuPerfilLink = By.Id("meu-perfil");
}
public void EfetuarLogout()
{
var linkLogout = driver.FindElement(byLogoutLink);
var linkMeuPerfil = driver.FindElement(byMeuPerfilLink);
IAction acaoLogout = new Actions(driver)
.MoveToElement(linkMeuPerfil)
.MoveToElement(linkLogout)
.Click()
.Build();
acaoLogout.Perform();
}
}
Obrigado!!!