public class TestNG
extends java.lang.Object
The command line parameters are:
Please consult documentation for more details.
FIXME: should support more than simple paths for suite xmls
usage()
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_COMMAND_LINE_SUITE_NAME
The default name for a suite launched from the command line
|
static java.lang.String |
DEFAULT_COMMAND_LINE_TEST_NAME
The default name for a test launched from the command line
|
static java.lang.String |
DEFAULT_OUTPUTDIR
The default name of the result's output directory (keep public, used by Eclipse).
|
private static java.lang.String |
DEFAULT_THREADPOOL_FACTORY |
static java.lang.Integer |
DEFAULT_VERBOSE |
private ExitCode |
exitCode |
private ExitCodeListener |
exitCodeListener |
private boolean |
isSuiteInitialized |
private static Logger |
LOGGER
This class' log4testng Logger.
|
private java.util.Map<java.lang.Class<? extends IAlterSuiteListener>,IAlterSuiteListener> |
m_alterSuiteListeners |
private boolean |
m_alwaysRun |
private IAnnotationTransformer |
m_annotationTransformer |
private java.util.Map<java.lang.Class<? extends IClassListener>,IClassListener> |
m_classListeners |
private java.util.List<XmlSuite> |
m_cmdlineSuites |
private java.util.List<java.lang.String> |
m_commandLineMethods |
private java.lang.Class[] |
m_commandLineTestClasses |
private XmlSuite.FailurePolicy |
m_configFailurePolicy |
private IConfigurable |
m_configurable |
private IConfiguration |
m_configuration |
private java.util.Map<java.lang.Class<? extends IDataProviderListener>,IDataProviderListener> |
m_dataProviderListeners |
private java.lang.Integer |
m_dataProviderThreadCount |
private IAnnotationTransformer |
m_defaultAnnoProcessor |
private java.lang.String |
m_defaultSuiteName |
private java.lang.String |
m_defaultTestName |
protected long |
m_end |
private java.lang.String[] |
m_excludedGroups |
private java.util.Map<java.lang.Class<? extends IExecutionVisualiser>,IExecutionVisualiser> |
m_executionVisualisers |
private IExecutorFactory |
m_executorFactory |
private java.lang.Boolean |
m_groupByInstances |
private IHookable |
m_hookable |
private java.lang.String[] |
m_includedGroups |
private static TestNG |
m_instance |
private java.util.Map<java.lang.Class<? extends IInvokedMethodListener>,IInvokedMethodListener> |
m_invokedMethodListeners |
private boolean |
m_isInitialized |
private java.lang.Boolean |
m_isJUnit |
private java.lang.Boolean |
m_isMixed |
private java.lang.String |
m_jarPath |
private static com.beust.jcommander.JCommander |
m_jCommander |
private java.util.Map<java.lang.String,java.lang.Integer> |
m_methodDescriptors |
private java.util.List<IMethodInterceptor> |
m_methodInterceptors |
private ITestObjectFactory |
m_objectFactory |
private java.lang.String |
m_outputDir |
private XmlSuite.ParallelMode |
m_parallelMode |
private java.lang.Boolean |
m_preserveOrder |
private boolean |
m_randomizeSuites |
private java.util.Map<java.lang.Class<? extends IReporter>,IReporter> |
m_reporters |
private java.util.Set<XmlMethodSelector> |
m_selectors |
private java.net.URLClassLoader |
m_serviceLoaderClassLoader |
private java.lang.Boolean |
m_skipFailedInvocationCounts |
protected long |
m_start |
private java.util.List<java.lang.String> |
m_stringSuites |
private java.util.Map<java.lang.Class<? extends ISuiteListener>,ISuiteListener> |
m_suiteListeners |
protected java.util.List<XmlSuite> |
m_suites |
private java.lang.Integer |
m_suiteThreadPoolSize |
private java.util.Map<java.lang.Class<? extends ITestListener>,ITestListener> |
m_testListeners |
private java.util.List<java.lang.String> |
m_testNames
The list of test names to run from the given suite
|
private ITestRunnerFactory |
m_testRunnerFactory |
private int |
m_threadCount |
protected boolean |
m_useDefaultListeners |
private java.lang.Integer |
m_verbose
If m_verbose gets set, it will override the verbose setting in testng.xml
|
private java.lang.String |
m_xmlPathInJar
The path of the testng.xml file inside the jar file
|
private java.util.Map<java.lang.Class<? extends ITestNGListener>,ITestNGListener> |
serviceLoaderListeners |
Constructor and Description |
---|
TestNG()
Default constructor.
|
TestNG(boolean useDefaultListeners)
Used by maven2 to have 0 output of any kind come out of testng.
|
Modifier and Type | Method and Description |
---|---|
void |
addClassLoader(java.lang.ClassLoader loader)
Add a class loader to the searchable loaders.
|
void |
addListener(ITestNGListener listener) |
void |
addListener(java.lang.Object listener)
Deprecated.
Use addListener(ITestNGListener) instead
|
private void |
addListeners(XmlSuite s) |
void |
addMethodSelector(java.lang.String className,
int priority) |
void |
addMethodSelector(XmlMethodSelector selector) |
private void |
addReporter(java.lang.Class<? extends IReporter> r) |
private void |
addReporter(ReporterConfig reporterConfig) |
private void |
addServiceLoaderListener(ITestNGListener l) |
private void |
addServiceLoaderListeners()
Using reflection to remain Java 5 compliant.
|
void |
alwaysRunListeners(boolean alwaysRun) |
protected void |
configure(CommandLineArgs cla)
Configure the TestNG instance based on the command line parameters.
|
void |
configure(java.util.Map cmdLineArgs)
Deprecated.
use new configure(CommandLineArgs) method
|
private java.util.List<XmlSuite> |
createCommandLineSuitesForClasses(java.lang.Class[] classes) |
private java.util.List<XmlSuite> |
createCommandLineSuitesForMethods(java.util.List<java.lang.String> commandLineMethods) |
private IExecutorFactory |
createExecutorFactoryInstanceUsing(java.lang.String clazzName) |
private SuiteRunner |
createSuiteRunner(XmlSuite xmlSuite)
Creates a suite runner and configures its initial state
|
private void |
createSuiteRunners(SuiteRunnerMap suiteRunnerMap,
XmlSuite xmlSuite)
Creates the
SuiteRunner s and populates the suite runner map with this information |
private static void |
error(java.lang.String s) |
(package private) static void |
exitWithError(java.lang.String msg) |
private void |
generateReports(java.util.List<ISuite> suiteRunners) |
IAnnotationTransformer |
getAnnotationTransformer() |
XmlSuite.FailurePolicy |
getConfigFailurePolicy()
Returns the configuration failure policy.
|
protected IConfiguration |
getConfiguration() |
static TestNG |
getDefault()
Deprecated.
since 5.1
|
java.lang.String |
getDefaultSuiteName() |
java.lang.String |
getDefaultTestName() |
protected long |
getEnd() |
IExecutorFactory |
getExecutorFactory() |
java.lang.String |
getOutputDirectory() |
private OverrideProcessor |
getProcessor() |
java.util.Set<IReporter> |
getReporters() |
java.util.List<ITestNGListener> |
getServiceLoaderListeners() |
protected long |
getStart() |
int |
getStatus() |
java.util.List<ISuiteListener> |
getSuiteListeners() |
java.lang.Integer |
getSuiteThreadPoolSize() |
java.util.List<ITestListener> |
getTestListeners() |
private int |
getVerbose(XmlSuite xmlSuite) |
boolean |
hasFailure() |
boolean |
hasFailureWithinSuccessPercentage() |
boolean |
hasSkip() |
private void |
init(boolean useDefaultListeners) |
private void |
initializeCommandLineSuites() |
private void |
initializeCommandLineSuitesGroups() |
private static void |
initializeCommandLineSuitesGroups(XmlSuite s,
boolean hasIncludedGroups,
java.lang.String[] m_includedGroups,
boolean hasExcludedGroups,
java.lang.String[] m_excludedGroups) |
private void |
initializeCommandLineSuitesParams() |
private void |
initializeConfiguration() |
private void |
initializeDefaultListeners() |
void |
initializeEverything()
Invoked by the remote runner.
|
void |
initializeSuitesAndJarFile() |
static void |
main(java.lang.String[] argv)
The TestNG entry point for command line execution.
|
private static <E> void |
maybeAddListener(java.util.Map<java.lang.Class<? extends E>,E> map,
java.lang.Class<? extends E> type,
E value,
boolean quiet) |
private static <E> void |
maybeAddListener(java.util.Map<java.lang.Class<? extends E>,E> map,
E value) |
private static int |
parseInt(java.lang.Object value) |
private void |
parseSuite(java.lang.String suitePath) |
private void |
parseSuiteFiles() |
private void |
populateSuiteGraph(IDynamicGraph<ISuite> suiteGraph,
SuiteRunnerMap suiteRunnerMap,
XmlSuite xmlSuite)
Populates the dynamic graph with the reverse hierarchy of suites.
|
static TestNG |
privateMain(java.lang.String[] argv,
ITestListener listener)
Note: this method is not part of the public API and is meant for internal usage only.
|
void |
run()
Run TestNG.
|
private void |
runExecutionListeners(boolean start) |
private void |
runSuiteAlterationListeners() |
protected java.util.List<ISuite> |
runSuites()
Run the test suites.
|
java.util.List<ISuite> |
runSuitesLocally()
This needs to be public for maven2, for now..At least until an alternative mechanism is found.
|
private void |
runSuitesSequentially(XmlSuite xmlSuite,
SuiteRunnerMap suiteRunnerMap,
int verbose,
java.lang.String defaultSuiteName)
Recursively runs suites.
|
private void |
sanityCheck()
Before suites are executed, do a sanity check to ensure all required conditions are met.
|
private void |
setAnnotationTransformer(IAnnotationTransformer t) |
void |
setCommandLineSuite(XmlSuite suite) |
void |
setConfigFailurePolicy(XmlSuite.FailurePolicy failurePolicy)
Sets the policy for whether or not to ever invoke a configuration method again after it has
failed once.
|
private void |
setConfigurable(IConfigurable c) |
void |
setDataProviderThreadCount(int count) |
void |
setDefaultSuiteName(java.lang.String defaultSuiteName) |
void |
setDefaultTestName(java.lang.String defaultTestName) |
void |
setExcludedGroups(java.lang.String groups)
Define which groups will be excluded from this run.
|
void |
setExecutorFactory(IExecutorFactory factory) |
void |
setExecutorFactoryClass(java.lang.String clazzName) |
void |
setGroupByInstances(boolean b) |
void |
setGroups(java.lang.String groups)
Define which groups will be included from this run.
|
private void |
setHookable(IHookable h) |
void |
setJUnit(java.lang.Boolean isJUnit)
Specify if this run should be made in JUnit mode
|
void |
setListenerClasses(java.util.List<java.lang.Class<? extends ITestNGListener>> classes)
Define which listeners to user for this run.
|
void |
setMethodInterceptor(IMethodInterceptor methodInterceptor) |
void |
setMixed(java.lang.Boolean isMixed)
Specify if this run should be made in mixed mode
|
void |
setObjectFactory(java.lang.Class c) |
void |
setObjectFactory(ITestObjectFactory factory) |
void |
setOutputDirectory(java.lang.String outputdir)
Sets the output directory where the reports will be created.
|
void |
setParallel(java.lang.String parallel)
Deprecated.
Use #setParallel(XmlSuite.ParallelMode) instead
|
void |
setParallel(XmlSuite.ParallelMode parallel) |
void |
setPreserveOrder(boolean b) |
void |
setRandomizeSuites(boolean randomizeSuites) |
void |
setServiceLoaderClassLoader(java.net.URLClassLoader ucl) |
void |
setSkipFailedInvocationCounts(java.lang.Boolean skip) |
void |
setSourcePath(java.lang.String path)
This method is invoked by Maven's Surefire, only remove it once Surefire has been modified to
no longer call it.
|
void |
setSuiteThreadPoolSize(java.lang.Integer suiteThreadPoolSize) |
void |
setTestClasses(java.lang.Class[] classes)
Set the test classes to be run by this TestNG object.
|
void |
setTestJar(java.lang.String jarPath)
Sets a jar containing a testng.xml file.
|
void |
setTestNames(java.util.List<java.lang.String> testNames)
Only run the specified tests from the suite.
|
protected void |
setTestRunnerFactory(ITestRunnerFactory itrf) |
private void |
setTestRunnerFactoryClass(java.lang.Class testRunnerFactoryClass) |
void |
setTestSuites(java.util.List<java.lang.String> suites)
Set the suites file names to be run by this TestNG object.
|
void |
setThreadCount(int threadCount)
Define the number of threads in the thread pool.
|
void |
setUseDefaultListeners(boolean useDefaultListeners)
If this method is passed true before run(), the default listeners will not be used.
|
void |
setVerbose(int verbose)
Sets the level of verbosity.
|
void |
setXmlPathInJar(java.lang.String xmlPathInJar)
Sets the path to the XML file in the test jar file.
|
void |
setXmlSuites(java.util.List<XmlSuite> suites)
Specifies the XmlSuite objects to run.
|
private java.lang.String[] |
splitMethod(java.lang.String m)
Given a string com.example.Foo.f1, return an array where [0] is the class and [1] is the
method.
|
private static void |
usage() |
protected static void |
validateCommandLineParameters(CommandLineArgs args)
Double check that the command line parameters are valid.
|
private static final Logger LOGGER
public static final java.lang.String DEFAULT_COMMAND_LINE_SUITE_NAME
public static final java.lang.String DEFAULT_COMMAND_LINE_TEST_NAME
private static final java.lang.String DEFAULT_THREADPOOL_FACTORY
public static final java.lang.String DEFAULT_OUTPUTDIR
private static TestNG m_instance
private static com.beust.jcommander.JCommander m_jCommander
private java.util.List<java.lang.String> m_commandLineMethods
protected java.util.List<XmlSuite> m_suites
private java.util.List<XmlSuite> m_cmdlineSuites
private java.lang.String m_outputDir
private java.lang.String[] m_includedGroups
private java.lang.String[] m_excludedGroups
private java.lang.Boolean m_isJUnit
private java.lang.Boolean m_isMixed
protected boolean m_useDefaultListeners
private ITestRunnerFactory m_testRunnerFactory
private final java.util.Map<java.lang.Class<? extends IClassListener>,IClassListener> m_classListeners
private final java.util.Map<java.lang.Class<? extends ITestListener>,ITestListener> m_testListeners
private final java.util.Map<java.lang.Class<? extends ISuiteListener>,ISuiteListener> m_suiteListeners
private final java.util.Map<java.lang.Class<? extends IDataProviderListener>,IDataProviderListener> m_dataProviderListeners
private IExecutorFactory m_executorFactory
public static final java.lang.Integer DEFAULT_VERBOSE
private int m_threadCount
private XmlSuite.ParallelMode m_parallelMode
private XmlSuite.FailurePolicy m_configFailurePolicy
private java.lang.Class[] m_commandLineTestClasses
private java.lang.String m_defaultSuiteName
private java.lang.String m_defaultTestName
private java.util.Map<java.lang.String,java.lang.Integer> m_methodDescriptors
private java.util.Set<XmlMethodSelector> m_selectors
private ITestObjectFactory m_objectFactory
private final java.util.Map<java.lang.Class<? extends IInvokedMethodListener>,IInvokedMethodListener> m_invokedMethodListeners
private java.lang.Integer m_dataProviderThreadCount
private java.lang.String m_jarPath
private java.lang.String m_xmlPathInJar
private java.util.List<java.lang.String> m_stringSuites
private IHookable m_hookable
private IConfigurable m_configurable
protected long m_end
protected long m_start
private final java.util.Map<java.lang.Class<? extends IAlterSuiteListener>,IAlterSuiteListener> m_alterSuiteListeners
private boolean m_isInitialized
private boolean isSuiteInitialized
private final ExitCodeListener exitCodeListener
private ExitCode exitCode
private final java.util.Map<java.lang.Class<? extends IExecutionVisualiser>,IExecutionVisualiser> m_executionVisualisers
private java.lang.Integer m_verbose
private final IAnnotationTransformer m_defaultAnnoProcessor
private IAnnotationTransformer m_annotationTransformer
private java.lang.Boolean m_skipFailedInvocationCounts
private java.util.List<IMethodInterceptor> m_methodInterceptors
private java.util.List<java.lang.String> m_testNames
private java.lang.Integer m_suiteThreadPoolSize
private boolean m_randomizeSuites
private boolean m_alwaysRun
private java.lang.Boolean m_preserveOrder
private java.lang.Boolean m_groupByInstances
private IConfiguration m_configuration
private java.net.URLClassLoader m_serviceLoaderClassLoader
private java.util.Map<java.lang.Class<? extends ITestNGListener>,ITestNGListener> serviceLoaderListeners
public TestNG()
public TestNG(boolean useDefaultListeners)
useDefaultListeners
- Whether or not any default reports should be added to tests.private void init(boolean useDefaultListeners)
public int getStatus()
public void setOutputDirectory(java.lang.String outputdir)
outputdir
- The directory.public void setUseDefaultListeners(boolean useDefaultListeners)
TestHTMLReporter
,
JUnitXMLReporter
,
XMLReporter
public void setTestJar(java.lang.String jarPath)
jarPath
- public void setXmlPathInJar(java.lang.String xmlPathInJar)
private void parseSuiteFiles()
private OverrideProcessor getProcessor()
private void parseSuite(java.lang.String suitePath)
public void initializeSuitesAndJarFile()
public void setThreadCount(int threadCount)
@Deprecated public void setParallel(java.lang.String parallel)
public void setParallel(XmlSuite.ParallelMode parallel)
public void setCommandLineSuite(XmlSuite suite)
public void setTestClasses(java.lang.Class[] classes)
If used together with threadCount, parallel, groups, excludedGroups than this one must be set first.
classes
- An array of classes that contain TestNG annotations.private java.lang.String[] splitMethod(java.lang.String m)
private java.util.List<XmlSuite> createCommandLineSuitesForMethods(java.util.List<java.lang.String> commandLineMethods)
commandLineMethods
- a string with the form "com.example.Foo.f1,com.example.Bar.f2"private java.util.List<XmlSuite> createCommandLineSuitesForClasses(java.lang.Class[] classes)
public void addMethodSelector(java.lang.String className, int priority)
public void addMethodSelector(XmlMethodSelector selector)
public void setTestSuites(java.util.List<java.lang.String> suites)
suites
- A list of paths to one more XML files defining the tests. For example:
TestNG tng = new TestNG(); Listsuites = Lists.newArrayList(); suites.add("c:/tests/testng1.xml"); suites.add("c:/tests/testng2.xml"); tng.setTestSuites(suites); tng.run();
public void setXmlSuites(java.util.List<XmlSuite> suites)
suites
- XmlSuite
public void setExcludedGroups(java.lang.String groups)
groups
- A list of group names separated by a comma.public void setGroups(java.lang.String groups)
groups
- A list of group names separated by a comma.private void setTestRunnerFactoryClass(java.lang.Class testRunnerFactoryClass)
protected void setTestRunnerFactory(ITestRunnerFactory itrf)
public void setObjectFactory(java.lang.Class c)
public void setObjectFactory(ITestObjectFactory factory)
public void setListenerClasses(java.util.List<java.lang.Class<? extends ITestNGListener>> classes)
classes
- A list of classes, which must be either ISuiteListener, ITestListener or
IReporter@Deprecated public void addListener(java.lang.Object listener)
private static <E> void maybeAddListener(java.util.Map<java.lang.Class<? extends E>,E> map, E value)
private static <E> void maybeAddListener(java.util.Map<java.lang.Class<? extends E>,E> map, java.lang.Class<? extends E> type, E value, boolean quiet)
public void addListener(ITestNGListener listener)
public java.util.Set<IReporter> getReporters()
public java.util.List<ITestListener> getTestListeners()
public java.util.List<ISuiteListener> getSuiteListeners()
public void setVerbose(int verbose)
verbose
- the verbosity level (0 to 10 where 10 is most detailed) Actually, this is a lie:
you can specify -1 and this will put TestNG in debug mode (no longer slicing off stack
traces and all).public void setExecutorFactoryClass(java.lang.String clazzName)
private IExecutorFactory createExecutorFactoryInstanceUsing(java.lang.String clazzName)
public void setExecutorFactory(IExecutorFactory factory)
public IExecutorFactory getExecutorFactory()
private void initializeCommandLineSuites()
private void initializeCommandLineSuitesParams()
private void initializeCommandLineSuitesGroups()
private static void initializeCommandLineSuitesGroups(XmlSuite s, boolean hasIncludedGroups, java.lang.String[] m_includedGroups, boolean hasExcludedGroups, java.lang.String[] m_excludedGroups)
private void addReporter(java.lang.Class<? extends IReporter> r)
private void initializeDefaultListeners()
private void initializeConfiguration()
private void addListeners(XmlSuite s)
private void addServiceLoaderListeners()
private void sanityCheck()
TestNGException
- if the sanity check failspublic void initializeEverything()
public void run()
protected java.util.List<ISuite> runSuites()
This method can be overridden by subclass.
For example, DistributedTestNG to run in master/slave mode according to commandline args.
ISuite
objects.private void runSuiteAlterationListeners()
private void runExecutionListeners(boolean start)
private static void usage()
private void generateReports(java.util.List<ISuite> suiteRunners)
public java.util.List<ISuite> runSuitesLocally()
private static void error(java.lang.String s)
private int getVerbose(XmlSuite xmlSuite)
private void runSuitesSequentially(XmlSuite xmlSuite, SuiteRunnerMap suiteRunnerMap, int verbose, java.lang.String defaultSuiteName)
xmlSuite
- XML Suite to be executedsuiteRunnerMap
- Maps XmlSuite
s to respective ISuite
verbose
- verbose leveldefaultSuiteName
- default suite nameprivate void populateSuiteGraph(IDynamicGraph<ISuite> suiteGraph, SuiteRunnerMap suiteRunnerMap, XmlSuite xmlSuite)
suiteGraph
- dynamic graph representing the reverse hierarchy of SuiteRunnerssuiteRunnerMap
- Map with XMLSuite as key and its respective SuiteRunner as valuexmlSuite
- XML Suiteprivate void createSuiteRunners(SuiteRunnerMap suiteRunnerMap, XmlSuite xmlSuite)
SuiteRunner
s and populates the suite runner map with this informationsuiteRunnerMap
- Map with XMLSuite as key and it's respective SuiteRunner as value. This
is updated as part of this method callxmlSuite
- Xml Suite (and its children) for which SuiteRunner
s are createdprivate SuiteRunner createSuiteRunner(XmlSuite xmlSuite)
protected IConfiguration getConfiguration()
public static void main(java.lang.String[] argv)
argv
- the TestNG command line parameters.public static TestNG privateMain(java.lang.String[] argv, ITestListener listener)
protected void configure(CommandLineArgs cla)
public void setSuiteThreadPoolSize(java.lang.Integer suiteThreadPoolSize)
public java.lang.Integer getSuiteThreadPoolSize()
public void setRandomizeSuites(boolean randomizeSuites)
public void alwaysRunListeners(boolean alwaysRun)
public void setSourcePath(java.lang.String path)
private static int parseInt(java.lang.Object value)
@Deprecated public void configure(java.util.Map cmdLineArgs)
public void setTestNames(java.util.List<java.lang.String> testNames)
public void setSkipFailedInvocationCounts(java.lang.Boolean skip)
private void addReporter(ReporterConfig reporterConfig)
public void setJUnit(java.lang.Boolean isJUnit)
isJUnit
- public void setMixed(java.lang.Boolean isMixed)
protected static void validateCommandLineParameters(CommandLineArgs args)
public boolean hasFailure()
public boolean hasFailureWithinSuccessPercentage()
public boolean hasSkip()
static void exitWithError(java.lang.String msg)
public java.lang.String getOutputDirectory()
public IAnnotationTransformer getAnnotationTransformer()
private void setAnnotationTransformer(IAnnotationTransformer t)
public java.lang.String getDefaultSuiteName()
public void setDefaultSuiteName(java.lang.String defaultSuiteName)
defaultSuiteName
- the defaultSuiteName to setpublic java.lang.String getDefaultTestName()
public void setDefaultTestName(java.lang.String defaultTestName)
defaultTestName
- the defaultTestName to setpublic void setConfigFailurePolicy(XmlSuite.FailurePolicy failurePolicy)
XmlSuite
. The default value is XmlSuite.FailurePolicy.SKIP
failurePolicy
- the configuration failure policypublic XmlSuite.FailurePolicy getConfigFailurePolicy()
@Deprecated public static TestNG getDefault()
private void setConfigurable(IConfigurable c)
private void setHookable(IHookable h)
public void setMethodInterceptor(IMethodInterceptor methodInterceptor)
public void setDataProviderThreadCount(int count)
public void addClassLoader(java.lang.ClassLoader loader)
public void setPreserveOrder(boolean b)
protected long getStart()
protected long getEnd()
public void setGroupByInstances(boolean b)
public void setServiceLoaderClassLoader(java.net.URLClassLoader ucl)
private void addServiceLoaderListener(ITestNGListener l)
public java.util.List<ITestNGListener> getServiceLoaderListeners()