What is the difference between Onstart Function in ISuiteListener and @beforeSuite of TestNG?

OnStart Method in ISuiteListener –before TestNG picks up your suite for execution, it first makes a call to onStart() method and runs whatever has been scripted in this method.

@BeforeSuite Annotation In TestNG-
Method with this annotation would run before execution of test suite.

These two sound same to me.
How the two are different from each other?
In which  condition one is  more useful than the other?

Neha11 Default Asked on January 19, 2016 in Selenium WebDriver.
Add Comment
1 Answer(s)

Hi Neha

@BeforeSuite Annotation In TestNG-
This is like a common method you wanted to run before your test suite
this will run once only in a suite
ex: may be you wanted to create a database connection before your test suite and wanted to use it throughout your test case run

OnStart Method in ISuiteListener
Generally listeners are used for logging purpose
so if you will define onstart method in your class. the method will be called for every method that will run in your test suite.
like in this case

public void onStart(ISuite arg0) {
Reporter.log(“About to begin executing Suite “ + arg0.getName(), true);
} // the method will log same when any method will run About to begin executing Suite + method name

so that it will be easier for you to log

ankit ramola Vice Professor Answered on January 20, 2016.

So as u said, In a suite if have a test case with 4 methods(functions) OnStart would be called before executing each of the function?
This is bit confusing as ONStart should only be executed before suite.

on January 27, 2016.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.