Friday, February 3, 2023

Page changing example in c#

public class LoginPage
{
    private IWebDriver driver;
    private By usernameLocator = By.Id("username");
    private By passwordLocator = By.Id("password");
    private By loginButtonLocator = By.Id("login");

    public LoginPage(IWebDriver driver)
    {
        this.driver = driver;
    }

    public void EnterUsername(string username)
    {
        driver.FindElement(usernameLocator).SendKeys(username);
    }

    public void EnterPassword(string password)
    {
        driver.FindElement(passwordLocator).SendKeys(password);
    }

    public DashboardPage ClickLoginButton()
    {
        driver.FindElement(loginButtonLocator).Click();
        return new DashboardPage(driver);
    }
}

public class DashboardPage
{
    private IWebDriver driver;
    private By welcomeMessageLocator = By.Id("welcome-message");

    public DashboardPage(IWebDriver driver)
    {
        this.driver = driver;
    }

    public string GetWelcomeMessage()
    {
        return driver.FindElement(welcomeMessageLocator).Text;
    }
}

public class LoginTests
{
    private IWebDriver driver;

    [SetUp]
    public void SetUp()
    {
        driver = new ChromeDriver();
        driver.Manage().Window.Maximize();
    }

    [Test]
    public void TestSuccessfulLogin()
    {
        LoginPage loginPage = new LoginPage(driver);
        DashboardPage dashboardPage = loginPage.EnterUsername("admin")
                                               .EnterPassword("password")
                                               .ClickLoginButton();
        string welcomeMessage = dashboardPage.GetWelcomeMessage();
        Assert.AreEqual("Welcome, admin!", welcomeMessage);
    }

    [TearDown]
    public void TearDown()
    {
        driver.Quit();
    }
}

No comments:

Post a Comment