Olá, Tamiris! Tudo bem?
Vou te dar uma ideia de como você pode estruturar o método EfetuarLogout
usando as interactions do Selenium.
Primeiro, é importante garantir que você tenha o pacote Selenium.Support instalado, pois ele fornece funcionalidades adicionais que são muito úteis, como as interactions. Aqui está um exemplo básico de como você pode estruturar o método EfetuarLogout
no seu Page Object DashboardInteressadaPO
:
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
using SeleniumExtras.WaitHelpers;
public class DashboardInteressadaPO
{
private IWebDriver driver;
private WebDriverWait wait;
public DashboardInteressadaPO(IWebDriver driver)
{
this.driver = driver;
wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
}
public void EfetuarLogout()
{
// Localize o elemento do menu ou botão de logout
var menuUsuario = driver.FindElement(By.Id("menuUsuario"));
menuUsuario.Click();
// Aguarde até que o botão de logout esteja visível e clicável
var logoutButton = wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("logoutButton")));
logoutButton.Click();
}
}
Neste exemplo, estou assumindo que você tem um elemento de menu com o ID menuUsuario
e um botão de logout com o ID logoutButton
. O uso de WebDriverWait
e ExpectedConditions
ajuda a garantir que o botão de logout esteja visível e clicável antes de tentar interagir com ele, o que é uma boa prática para evitar erros em testes automatizados.
Espero que este exemplo te ajude a estruturar o seu método. Bons estudos e sucesso na implementação!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.