While using TestNG, we can execute multiple tests or methods
in the project based on the test annotations, the methods, and classes in the
Project. We will execute the test suite from eclipse using TestNG.xml in this article to keep it
simple, although we can execute the Test Suite from command line or through Ant.
Pre-condition:
Focus of this article:
- How to create TestNG xml file to run test suite.
- How to run test from the TestNG xml file in
eclipse.
Let us consider the below two classes in a Java Project. To
Keep it simple, we are just outputting a value in each of the Test method. Suppose we have two different classes, we can create a test
suite using testng.xml file and run the test suite from eclipse as shown in the
below image.
Creating TestNG.xml file for different scenarios:
A. Run all the tests in both classes NewTest and
NewTest1. This will execute all the methods
with beforetest annotation in both the classes, followed by methods with test
annotation, and then methods with afterText annotation.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="Test">
<classes>
<class name="testNG.NewTest"/>
<class name="testNG.NewTest1"/>
</classes>
</test>
</suite>
B. Run test in class NewTest and then the methods in NewTest1 class:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="Test1">
<classes>
<class name="testNG.NewTest"/>
</classes>
</test>
<test name="Test2">
<classes>
<class name="testNG.NewTest1"/>
</classes>
</test>
</suite>
C. Executing all tests in a package with name as
TestNG(Note: TestNG is the name of package in our example, it can be any name
other than TestNG also)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="Test1">
<packages>
<package name="testNG" />
</packages>
</test>
</suite>
D. Executing all tests based on the group Name:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="Test1">
<groups>
<run>
<include name="testemail"/>
<exclude name="testnoemail"/>
</run>
</groups>
<classes>
<class name="testNG.NewTest"/>
<class name="testNG.NewTest1"/>
</classes>
</test>
</suite>
E. Executing specific methods by including methods in the class:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="Test1">
<classes>
<class name="testNG.NewTest">
<methods>
<include name="emailval" />
</methods>
</class>
<class name="testNG.NewTest1"/>
</classes>
</test>
</suite>
Really its great blog and nowadays testNG framework is the more expected framework in the industry for QA team. To get that information people have to took
ReplyDeleteselenium training in chennai location will help the tester to get reports after script execution, customised running of test,parallel execution of test cases and grouping of test cases.
Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledge.
ReplyDeleteSelenium Training in Chennai