Было бы лучше иметь один общий класс, в котором вы можете использовать базовые c компоненты инициализации в качестве метода, как показано ниже, и вызывать этот метод во всех ваших классах Test до запуска метода Test.
И наследовать родительский класс BaseTest для всех ваших тестовых классов.
Я внес некоторые изменения в ваш код, как показано ниже.
publi c Class BaseTest {
драйвер IWebDriver;
public static void Initialization() {
driver = new ChromeDriver();
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(40);
//Go to URL
//Login
}}
Объект страницы:
пространство имен ProjectName.PageObjects {class SearchPage {IWebDriver driver;
public SearchPage(IWebDriver driver)
{
this.driver = driver;
PageFactory.InitElements(driver, this);
}
[FindsBy(How = How.XPath, Using = "//a[text()='Search']")]
IWebElement search;
public void SearchClick()
{
search.Click();
}
}
}
Тестовый класс:
Пространство имен ProjectName {class SearchTestClass {
SearchPage search;
[SetUp]
public void SetUp()
{
//Just call the Initialization method in every test class like here before the test methods starts execution
Initialization();
}
[Test]
public void SearchTest()
{
search.SearchClick();
}
}}