Как снести селен вебдрайвер, когда @tests находятся в разных классах

У меня есть около 5 различных классов с тестами JUnit (тесты селена). Мне нужен способ сносить веб-драйвер в конце программы. Поэтому мне нужно знать, куда поместить @AfterClass и как передать ему драйвер, чтобы его можно было закрыть.

Я подумал о создании тестового костюма и реализации там &AfterClass tearDownClass(). Но я не уверен, как передать драйвер, чтобы он закрылся.

2 ответа

Вы можете использовать ниже код

[OneTimeTearDown]
        public void SetupTestTeardown()
        {
            KillDriver();
            Assert.AreEqual("", verificationErrors.ToString());
        }

Атрибут OneTimeTearDown наследуется от любого базового класса. Поэтому, если базовый класс определил метод OneTimeTearDown, этот метод будет вызываться после любых методов тестирования в производном классе.

Вы можете определить метод OneTimeTearDown в базовом классе, а другой - в производном. NUnit будет вызывать методы базового класса OneTimeTearDown после методов в производных классах.

Добавьте @BeforeClass к своему суперклассу. Инициируйте водителя в этом. Благодаря этому тестовые классы также наследуют драйвер.

Добавьте драйвер в свой суперкласс в @AfterClass

Другие вопросы по тегам