Я пишу код автоматизации для своего мобильного сайта.Проблема при использовании аннотации @BeforeTest в testng
Class1: -
public class Sample{
@BeforeTest
public void createUser(){
// code to create user
}
@Test
public void verifyUser(){
// code to verify user
}
@AfterTest
public void deleteUser(){
// code to delete user
}
}
Как Class1
. У меня разные классы, такие как Class2
, Class3
, Class4
.
testing.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1">
<test name="Regression1" parallel="false" preserve-order="true">
<classes>
<class name="Class1"/>
<class name="Class2"/>
<class name="Class3"/>
<class name="Class4"/>
</classes>
</test>
</suite>
Команда для запуска: -
mvn -Dtests=testing.xml test
, когда я запускаю выше команды, @BeforeTest
из Class1
, Class2
, Class3
, Class4
называют первым. Это означает, что перед запуском любого теста создаются 4 пользователя. Затем только Class1
Тест работает Class2
и так далее. Atlast @AfterTest
из всех классов (удаление всех пользователей).
Я не хочу этого сценария.
мне нужен следующий способ запустить мой каждый тест: -
- создать пользователя
- проверить пользователя
- удалить пользователя
мне нужен мой Class1
полностью выполнен первый затем Class2
и так далее.
Есть ли изменения в аннотации для testng, которые я должен делать?
У меня есть два метода испытания в одном классе. если я использую метод BeforeMethod, его вызовут для каждого теста. Мне это не нужно. Я хочу, чтобы BeforeMethod или BeforeTest вызывались независимо от всех методов тестирования и AfterMethod или AfterTest, чтобы называться окончанием всех методов тестирования. – karan
Если у вас есть два метода тестирования в вашем тестовом классе, используйте «@ BeforeClass» и «@ AfterClass». Таким образом, порядок будет: beforeClass(), testMethod1(), testMethod2(), afterClass(). – peetya
Спасибо. Работает. – karan