Объявите Selenium WebDriver как глобальную переменную с помощью SetUp () - PullRequest
0 голосов
/ 27 февраля 2019

Мой текущий дизайн выглядит следующим образом: Веб-драйвер является частью каждого набора в каждом наборе тестов (в данном случае - 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();
    }
}

Есть ли способ передать драйвер более «элегантным» способом без этого?

Спасибо.

1 Ответ

0 голосов
/ 28 февраля 2019

Вы хотите использовать вместо OneTimeSetup.Setup запускается один раз для каждого метода теста.OneTimeSetup запускается один раз до запуска любых тестов.Взгляните на Документация по установке и демонтажу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...