Шаг 1 - создание статического класса драйвера
public sealed class Driver
{
[ThreadStatic]
private static IWebDriver driver = null;
public static IWebDriver Instance
{
get
{
if (driver == null)
{
driver = new ChromeDriver();
}
return driver;
}
}
public static void Testcleanup()
{
driver.Quit();
driver = null;
}
}
Шаг 2 - Создание базового класса, в котором объекты страницы будут инициализированы
public class TestBase
{
private LoginPage loginPage;
private HomePage homePage;
public TestBase()
{
loginPage = new LoginPage();
homepage = new HomePage();
PageFactory.InitElements(Driver.Instance, loginPage);
PageFactory.InitElements(Driver.Instance, homePage);
}
public static LoginPage Login
{
get { return Instance.loginPage; }
}
public static HomePage Home
{
get { return Instance.homePage; }
}
private static TestBase Instance
{
get
{
return new TestBase();
}
}
}
Шаг 3: Наконец, используйте базовый класс в тестовом классе
[TestClass]
public class PageInitTest : TestBase
{
[TestMethod]
public void PageInit()
{
Driver.Instance.Navigate().GoToUrl("url");
Login.Email.SendKeys("Demo@gmail.com");
}
}