TestNG
- добавить в pom.xml зависимость testNG
Аннотации
-
@BeforeSuite - выполняется перед всеми
тестовыми классами, которые входят в текущий набор
тестов, который определяется в разделе test в
xml-файле
-
@BeforeTest - выполняется перед первым
@Test методом в текущем наборе тестов, который
определяется в разделе test в xml-файле
-
@BeforeClass - выполняется перед
первым @Test методом в текущем классе
-
@BeforeMethod - выполняется перед
каждым @Test методом
- @Test - тестовый метод, основная логика теста
- @AfterMethod - выполняется после каждого @Test метода
-
@BeforeMethod - выполняется перед
каждым @Test методом
- @AfterClass - выполняется после последнего @Test метода в текущем классе
-
@BeforeClass - выполняется перед
первым @Test методом в текущем классе
- @AfterTest - выполняется после последнего @Test метода в текущем наборе тестов, который определяется в разделе test в xml-файле
-
@BeforeTest - выполняется перед первым
@Test методом в текущем наборе тестов, который
определяется в разделе test в xml-файле
- @AfterSuite - выполняется после всех тестовых классов, которые входят в текущий набор тестов, который определяется в разделе test в xml-файле
- @BeforeGroups("groupName") - выполняется перед указанной группой тестов
- @AfterGroups("groupName") - выполняется после указанной группы тестов
- @Ignore - игнорировать / не выполнять метод, класс
Атрибуты
- (groups={"Login","Module"}) - указывает группы к которым принадлежит метод
- (priority=1) - приоритет выполнения в порядке возрастания, по умолчанию = 0
- (description="someText") - описание метода, #задачи
- (dependOnMethods={"loginTest","homePageTest"}) - будет выполнен после удачного выполнения указанных методов, иначе не будет запускаться
- (dependOnGroups={"login","homePage"}) - будет выполнен после удачного выполнения всех методов из указанных групп, иначе не будет запускаться
- (alwaysRun=true) - выполнять всегда, даже если зависит от метода, который провалился
- (enabled=false) - игнорировать / не выполнять метод
через Атрибуты
- (expectedExceptions={ArithmeticException.class}) - определяет список исключений, которые ожидаются в результате работы метода. Если исключение, указанное в атрибуте, выброшено тестовым методом, то тест прошёл успешно. В противном случае, отсутствие исключения или выброс другого исключения, не указанного в атрибуте, провалит тест.
- (timeOut=500) - задает граничное время прохождения метода
- (invocationCount=5) - задает цикл: сколько раз должен повториться метод
- (invocationCount=5, invocationTimeOut=5000) - задает граничное время прохождения метода для всех вызовов, используется вместе.
через Ассерты
- Assert.assertEquals(String actual, String excepted, String message)
- Assert.assertEquals(String actual, String excepted)
- Assert.assertEquals(boolean actual, boolean excepted)
- Assert.assertEquals(java.util.Collection actual, java.util.Collection excepted)
- Assert.assertTrue(condition)
- Assert.assertFalse(condition)
- SoftAssert (пример)
Maven
- создать файл runAll.xml
- файл положить в test/resources/runner/
- в pom.xml создать:
- proprties <run>runAll</run>
- build configuration
- запуск в терминале = mvn clean test -Drun=название_файла_xml
some text