TPO/Testing/TestProject/BasePage.cs

46 lines
1.1 KiB
C#

using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium;
using SeleniumExtras.WaitHelpers;
namespace TestProject
{
public class BasePage
{
protected IWebDriver driver;
public BasePage(IWebDriver driver)
{
this.driver = driver;
}
public IWebElement FindElement(By locator)
{
return driver.FindElement(locator);
}
public void Type(By locator, string text)
{
WaitUntilElementIsVisible(locator);
FindElement(locator).Clear();
FindElement(locator).SendKeys(text);
}
public void Click(By locator)
{
WaitUntilElementIsVisible(locator);
FindElement(locator).Click();
}
public void WaitUntilElementIsVisible(By locator, int time = 100)
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(time));
wait.Until(ExpectedConditions.ElementIsVisible(locator));
}
public void OpenUrl(string url)
{
driver.Navigate().GoToUrl(url);
}
}
}