0% found this document useful (0 votes)
257 views35 pages

Test NG

TestNG is an open source automated testing framework that was created as an alternative to JUnit with additional functionality. It allows testers to write flexible tests using annotations for grouping, sequencing, and parameterization. Some advantages of TestNG for Selenium testing include generating HTML reports, making annotations easier to use, and allowing parallel and prioritized test execution. Writing a test in TestNG involves adding TestNG annotations to test methods and configuring a testng.xml file to run the tests.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
257 views35 pages

Test NG

TestNG is an open source automated testing framework that was created as an alternative to JUnit with additional functionality. It allows testers to write flexible tests using annotations for grouping, sequencing, and parameterization. Some advantages of TestNG for Selenium testing include generating HTML reports, making annotations easier to use, and allowing parallel and prioritized test execution. Writing a test in TestNG involves adding TestNG annotations to test methods and configuring a testng.xml file to run the tests.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

 TestNG is a testing framework inspired from

JUnit and NUnit but introducing some new


functionality that make it more powerful and
easier to use.
 TestNG is an open source automated testing
framework; where NG of TestNG means Next
Generation.
 TestNG is similar to JUnit but it is much more
powerful than JUnit but still it’s inspired by JUnit.
It is designed to be better than JUnit, especially
when testing integrated classes. Pay special
thanks to Cedric Beust who is the creator of
TestNG.
 TestNG eliminates most of the limitations of
the older framework and gives the developer
the ability to write more flexible and powerful
tests with help of easy annotations, grouping,
sequencing & parameterizing.

 There are number of benefits of TestNG but
from Selenium perspective, major advantages
of TestNG are :
A) ) It gives the ability to produce HTML
Reports of execution
B) Annotations made testers life easy
C) Test cases can be Grouped & Prioritized
more easily
D) Parallel testing is possible
E) Generates Logs
 Writing a test in TestNG is quite simple and
basically involves following steps
A) Step 1 – Write the business logic of the test
B) Step 2 – Insert TestNG annotations in
the code
C) Step 3 - Add the information about your
test (e.g. the class names, methods names,
groups names etc…) in a testng.xml file
D) Step 4 - Run TestNG
 @BeforeSuite: The annotated method will be
run before all tests in this suite have run
 @AfterSuite: The annotated method will be
run after all tests in this suite have run.
 @BeforeTest: The annotated method will be
run before any test method belonging to the
classes inside the tag is run.
 @AfterTest: The annotated method will be
run after all the test methods belonging to
the classes inside the tag have run.
 @BeforeGroups: The list of groups that this
configuration method will run before. This
method is guaranteed to run shortly before
the first test method that belongs to any of
these groups is invoked.
 @AfterGroups: The list of groups that this
configuration method will run after. This
method is guaranteed to run shortly after the
last test method that belongs to any of these
groups is invoked.
 @BeforeClass: The annotated method will be
run before the first test method in the current
class is invoked.
 @AfterClass: The annotated method will be
run after all the test methods in the current
class have been run.
 @BeforeMethod: The annotated method
will be run before each test method.
 @AfterMethod: The annotated method will
be run after each test method.
 @Test: The annotated method is a part of a
test case.
 TestNG identifies the methods it is
interested in by looking up annotations.
Hence method names are not restricted to
any pattern or format.
 We can pass additional parameters to
annotations.
 Annotations are strongly typed, so the
compiler will flag any mistakes right away.
 Test classes no longer need to extend
anything (such as Test Case, for JUnit 3).
 It is easy to install TestNG, as it comes as a
plugin for Eclipse IDE
 Prerequisite for installing TestNG is your
Internet connection should be up & running
during installation of this plugin and Eclipse
IDE should be installed in your computer.
Please see Download and Install Eclipse to
setup Eclipse to you system.
 Launch the Eclipse IDE and from Help menu,
click “Install New Software”.
 You will see a dialog window, click “Add”
button.

 Type name as you wish, lets take “TestNG”
and type “http://beust.com/eclipse/” as
location. Click OK.

 You come back to the previous window but
this time you must see TestNG option in the
available software list. Just Click TestNG and
press “Next” button.

 Proceed with your workplace.
 After restart, verify if TestNG was indeed
successfully installed. Right click on you
project and see if TestNG is displayed in the
opened menu.

 Steps to follow:
 Press Ctrl+N , select “TestNG Class” under
TestNG category and click Next.
Or
 Right click on Test Case folder, go to
TestNG and select “TestNG Class“
 SEE THE NEXT SLIDE

 If your project is set up and you have
selected the Test Case folder before creating
TestNG class then the source folder and the
package name will be prepopullated on the
form. Set class name as ‘TestNG‘.
 Under Annotations, check “@BeforeMethod”,
“@AfterMethod” and click Finish. That’s it.

 Now it will display the newly created TestNg
class under the Test Case package(folder).
TestNG class will look like the image below
with displaying three empty methods. One
method f() by default and before & after
method, as selected during the creation of
the class.
 See the next slide

 Project explorer will look like this with
TestNG class.

 5) Let’s take an example of First Test Case
and divide the test case in to three parts .
 A) @BeforeMethod : Launch Firefox and direct
it to the Base URL
 @Test : Enter Username & Password to
Login, Print console message and Log out
 @AfterMethod : Close Firefox browser
 import java.util.concurrent.TimeUnit;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebDriver;
 import
org.openqa.selenium.firefox.FirefoxDriver;
 import org.testng.annotations.Test;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.AfterMethod;
 public class TestNG {
 public WebDriver driver;
 @Test
 public void main() {
 // Find the element that's ID attribute is
'account'(My Account)
 driver.findElement(By.id("account")).click();
 // Find the element that's ID attribute is 'log'
(Username)
 // Enter Username on the element found by
above desc.
 driver.findElement(By.id("log")).sendKeys("test
user_1");
 // Find the element that's ID attribute is 'pwd'
(Password)
 // Enter Password on the element found by the
above desc.
 driver.findElement(By.id("pwd")).sendKeys("Test@
123");
 // Now submit the form. WebDriver will find the
form for us from the element
 driver.findElement(By.id("login")).click();
 // Print a Log In message to the screen
 System.out.println(" Login Successfully, now it is
the time to Log Off buddy.");
 // Find the element that's ID attribute is
'account_logout' (Log Out)
 driver.findElement(By.id("account_logout"));
 }
 @BeforeMethod
 public void beforeMethod() {
 // Create a new instance of the Firefox driver
 driver = new FirefoxDriver();
 //Put a Implicit wait, this means that any
search for elements on the page could take the
time the implicit wait is set for before throwing
exception
 driver.manage().timeouts().implicitlyWait(10,
TimeUnit.SECONDS);
 //Launch the Online Store Website
 driver.get("http://www.onlinestore.toolsqa.co
m");
 }
 @AfterMethod
 public void afterMethod() {
 // Close the driver
 driver.quit();
 }

 }
 Run the test by right click on the test case
script and select Run As > TestNG Test.

 Give it few minutes to complete the
execution, once it is finished the results will
look like this in the TestNg Result window.
 It displayed ‘passed : 1′. This means test is
successful and Passed.
There are 3 sub tabs. “All Tests”, “Failed
Tests” and “Summary”. Just click “All Tests” to
see what is there.

 TestNG also produce HTML reports. To
access those reports go to the Project
directory and open test-output folder.

 Open ‘emailable-report.html‘, as this is a
html report open it with browser.

You might also like