I have a testng.xml like below,
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="MyTestSuite" parallel="tests" thread-count="2">
<test name="Test1">
<classes>
<class name="com.example.FBOneClass" />
<class name="com.example.FBTwoClass" />
</classes>
</test>
<test name="Test2">
<classes>
<class name="com.example.GOneClass" />
<class name="com.example.GTwoClass" />
</classes>
</test>
</suite>
Here, I'm trying to achieve the tests to run in parallel. I can do that by the parallel="tests" thread-count="2"
But the class should run serially! Like all the methods in the com.example.FBOneClass
should execute first and then com.example.FBTwoClass
methods should run.
What I'm facing is, some of the @Test methods in com.example.FBTwoClass
are getting executed before com.example.FBOneClass
@Test methods.
How to achieve the expected behaviour?
Thanks in advance 🙏
Note: I did research on it. We can achieve it using the "dependsOn" parameter. But I can't use the com.example.FBTwoClass
first method depends on com.example.FBOneClass
last method!
You should set parallel="false"
in your <test>
tag of your suite file. This will ensure that the <test>
tags are executed in parallel, but the individual test classes within the <test>
tag will run sequentially.
Note: Also please ensure that you are using the latest released version of TestNG viz.,
7.5.1
- If you are using JDK87.8.0
- If you are using JDK11