How to run test cases in parallel using TestNG?
I achieve it with xml file.
In TestNG is quite simple to do parallel testing. Let's say we have our test
cases in different classes or packages.
First I create TestNG xml runner.
Then I create suites or test tags in the xml runner. In these tag, I point to
package or class I want to run.
Then I add and option like parallel="test" into pom.xml, it means all tests
will start running in parallel.
Inside suite<> tag there are 3 attribute which is name,parallel and
thread count.
name is mandatory and should be unique, it has parallel because we want to run
different threads in this suite, we have thread count which is number of
threads to use.
Multi Browser with parallel?
There is parameter annotation where I define name and value;
In TestNG we can pass browser type from xml runner. In our java code, we use
@parameters annotations to read this browser type parameter.
@Test
@Parameters("browser")
public void parameterized(String browser){
if(browser.equals("chrome")){
sout("open chrome")
}else if...
}
How to check if your TestNG runs in parallel
inside methods you can use ==> Thread.currentThread.getId()
should have multiple different thread ids