Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Implementação do Page Object e Teste de Logout com Selenium

Olá, pessoal!

Estou seguindo os vídeos da aula e cheguei na parte onde preciso:

  • Criar o page object DashboardInteressadaPO
  • Criar a classe de testes AoEfetuarLogout
  • Instalar o pacote Selenium.Support e usar as interactions no método EfetuarLogout do page object

Alguém aí já implementou essa parte e poderia compartilhar dicas ou um exemplo básico de como estruturou o método EfetuarLogout usando as interactions do Selenium?

Agradeço desde já pela ajuda!

1 resposta
solução!

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 ✓.