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