Мой текущий дизайн выглядит следующим образом: Веб-драйвер является частью каждого набора в каждом наборе тестов (в данном случае - Chrome)
public void SetUp()
{
driver = new ChromeDriver();
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
}
Для того, чтобы иметь возможность использовать глобальную переменную в каждомЯ создал набор тестов:
class Globals
{
//drivers
public static IWebDriver driverChrome = new ChromeDriver();
//ImplicitWait
public static double ImplicitWaitGlobal = 20;
}
Поэтому изменил мой SetUp () для вызова глобальной переменной:
public void SetUp()
{
driver = Globals.driverChrome;
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
}
Все вышеперечисленное работает очень хорошо, НО дополнительный Chromeокно открывается каждый раз, когда я запускаю тест (в результате создания нового экземпляра драйвера Chrome в классе Globals).
Класс выглядит следующим образом:
public class Some_Tests
{
private IWebDriver driver;
private IWebElement element;
[SetUp]
public void SetUp()
{
driver = new Globals.driverChrome;
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
}
[Test]
[Description("myTest1")]
public void Test_1()
{
Navigate.LogIn_SideBar(Enviroment.Env, Users.user1, driver);
}
[Test]
[Description("myTest2")]
public void Test_2()
{
Navigate.LogIn_SideBar(Enviroment.Env, Users.user1, driver);
}
[TearDown]
public void TearDown()
{
driver.Close();
driver.Quit();
}
}
Есть ли способ передать драйвер более «элегантным» способом без этого?
Спасибо.