Я хочу, чтобы мои тестовые примеры выполняли приоритет, но все тестовые примеры, которые зависят от "Method1", выполняются первыми, поэтому мои другие тестовые тесты терпят неудачу.
@Test(dependsOnMethods = {"verifyLogin"}, priority = 0, description = "verify a page access")
public void Method1()
@Test (dependsOnMethods = {"Method1"}, priority = 1, description = "проверить доступ к странице")
public void Method2()
@Test(dependsOnMethods = {"Method1"}, priority = 2, description = "verify c page access")
public void Method3()
@Test(dependsOnMethods = {"Method3"}, priority = 3, description = "verify d page access")
public void Method4()
@Test(dependsOnMethods = {"Method1"}, priority = 4, description = "verify e page access")
public void Method5()
Поэтому сначала выполняются методы 1,2,3 и 5, но я хочу, чтобы метод 4 выполнялся до 5, поскольку он зависит от метода 3.
Благодарю.
Я столкнулся с аналогичной проблемой в своих тестовых классах. обычно, если мы используем оба dependsOnMethods
или priority
в нашем тестовом классе, testng выполняет сначала тест с приоритетом, но не применяет приоритет к испытаниям, имеющим dependsOnMethods
. Тесты с атрибутом "dependsOnMethod" будут выполняться последним в соответствии с их зависимостями/приоритетами. Порядок выполнения тестового примера будет выглядеть следующим образом:
Следовательно, в вашем случае он будет выполнять тестовые примеры, имеющие зависимость от метода 'method1', и тестовый случай, имеющий зависимость от метода method3. Чтобы решить эту проблему, вам нужно понять, в какой последовательности будут выполняться тесты, основанные на priorities
и dependsOnMethods
. Вы должны соответствующим образом настроить оба атрибута. Вы также можете сделать один тестовый пример зависимым от нескольких методов тестирования, например, в вашем случае вы можете сделать тестовый пример 4 зависимым от "method1", а также "method3".