Package org.testng

Class TestRunner

java.lang.Object
org.testng.TestRunner
All Implemented Interfaces:
IAttributes, org.testng.internal.IConfigEavesdropper, org.testng.internal.ITestResultNotifier, ITestContext, IThreadWorkerFactory<ITestNGMethod>

public class TestRunner extends Object implements ITestContext, org.testng.internal.ITestResultNotifier, IThreadWorkerFactory<ITestNGMethod>, org.testng.internal.IConfigEavesdropper
This class takes care of running one Test.
  • Constructor Details

  • Method Details

    • getInvoker

      public org.testng.internal.invokers.IInvoker getInvoker()
    • getBeforeSuiteMethods

      public ITestNGMethod[] getBeforeSuiteMethods()
    • getAfterSuiteMethods

      public ITestNGMethod[] getAfterSuiteMethods()
    • getBeforeTestConfigurationMethods

      public ITestNGMethod[] getBeforeTestConfigurationMethods()
    • getAfterTestConfigurationMethods

      public ITestNGMethod[] getAfterTestConfigurationMethods()
    • getTestClasses

      public Collection<ITestClass> getTestClasses()
    • setTestName

      public void setTestName(String name)
    • setOutputDirectory

      public void setOutputDirectory(String od)
    • run

      public void run()
      The main entry method for TestRunner.

      This is where all the hard work is done: - Invoke configuration methods - Invoke test methods - Catch exceptions - Collect results - Invoke listeners - etc...

    • createWorkers

      public List<IWorker<ITestNGMethod>> createWorkers(List<ITestNGMethod> methods)
      Create a list of workers to run the methods passed in parameter. Each test method is run in its own worker except in the following cases: - The method belongs to a class that has @Test(sequential=true) - The parallel attribute is set to "classes" In both these cases, all the methods belonging to that class will then be put in the same worker in order to run in the same thread.
      Specified by:
      createWorkers in interface IThreadWorkerFactory<ITestNGMethod>
      Parameters:
      methods - tasks that need to be executed
      Returns:
      list of workers
    • getName

      public String getName()
      Specified by:
      getName in interface ITestContext
      Returns:
      The name of this test.
    • getStartDate

      public Date getStartDate()
      Specified by:
      getStartDate in interface ITestContext
      Returns:
      Returns the startDate.
    • getEndDate

      public Date getEndDate()
      Specified by:
      getEndDate in interface ITestContext
      Returns:
      Returns the endDate.
    • getPassedTests

      public IResultMap getPassedTests()
      Specified by:
      getPassedTests in interface ITestContext
      Returns:
      A list of all the tests that run successfully.
    • getSkippedTests

      public IResultMap getSkippedTests()
      Specified by:
      getSkippedTests in interface ITestContext
      Returns:
      A list of all the tests that were skipped
    • getFailedTests

      public IResultMap getFailedTests()
      Specified by:
      getFailedTests in interface ITestContext
      Returns:
      A map of all the tests that failed, indexed by their ITestNGMethod.
      See Also:
    • getFailedButWithinSuccessPercentageTests

      public IResultMap getFailedButWithinSuccessPercentageTests()
      Specified by:
      getFailedButWithinSuccessPercentageTests in interface ITestContext
      Returns:
      A list of all the tests that failed but are being ignored because annotated with a successPercentage.
    • getIncludedGroups

      public String[] getIncludedGroups()
      Specified by:
      getIncludedGroups in interface ITestContext
      Returns:
      All the groups that are included for this test run.
    • getExcludedGroups

      public String[] getExcludedGroups()
      Specified by:
      getExcludedGroups in interface ITestContext
      Returns:
      All the groups that are excluded for this test run.
    • getOutputDirectory

      public String getOutputDirectory()
      Specified by:
      getOutputDirectory in interface ITestContext
      Returns:
      Where the reports will be generated.
    • getSuite

      public ISuite getSuite()
      Specified by:
      getSuite in interface ITestContext
      Returns:
      Returns the suite.
    • getAllTestMethods

      public ITestNGMethod[] getAllTestMethods()
      Specified by:
      getAllTestMethods in interface ITestContext
      Returns:
      All the test methods that were run.
    • getHost

      public String getHost()
      Specified by:
      getHost in interface ITestContext
      Returns:
      The host where this test was run, or null if it was run locally. The returned string has the form: host:port
    • getExcludedMethods

      public Collection<ITestNGMethod> getExcludedMethods()
      Specified by:
      getExcludedMethods in interface ITestContext
      Returns:
      All the methods that were not included in this test run.
    • getFailedConfigurations

      public IResultMap getFailedConfigurations()
      Specified by:
      getFailedConfigurations in interface ITestContext
      Returns:
      The information about the failed configuration method invocations.
      See Also:
    • getConfigurationsScheduledForInvocation

      public IResultMap getConfigurationsScheduledForInvocation()
      Specified by:
      getConfigurationsScheduledForInvocation in interface org.testng.internal.IConfigEavesdropper
    • getPassedConfigurations

      public IResultMap getPassedConfigurations()
      Specified by:
      getPassedConfigurations in interface ITestContext
      Returns:
      The information about the successful configuration method invocations.
      See Also:
    • getSkippedConfigurations

      public IResultMap getSkippedConfigurations()
      Specified by:
      getSkippedConfigurations in interface ITestContext
      Returns:
      The information about the skipped configuration method invocations.
      See Also:
    • addPassedTest

      public void addPassedTest(ITestNGMethod tm, ITestResult tr)
      Specified by:
      addPassedTest in interface org.testng.internal.ITestResultNotifier
    • getPassedTests

      public Set<ITestResult> getPassedTests(ITestNGMethod tm)
      Specified by:
      getPassedTests in interface org.testng.internal.ITestResultNotifier
    • getFailedTests

      public Set<ITestResult> getFailedTests(ITestNGMethod tm)
      Specified by:
      getFailedTests in interface org.testng.internal.ITestResultNotifier
    • getSkippedTests

      public Set<ITestResult> getSkippedTests(ITestNGMethod tm)
      Specified by:
      getSkippedTests in interface org.testng.internal.ITestResultNotifier
    • addSkippedTest

      public void addSkippedTest(ITestNGMethod tm, ITestResult tr)
      Specified by:
      addSkippedTest in interface org.testng.internal.ITestResultNotifier
    • addFailedTest

      public void addFailedTest(ITestNGMethod testMethod, ITestResult result)
      Specified by:
      addFailedTest in interface org.testng.internal.ITestResultNotifier
    • addFailedButWithinSuccessPercentageTest

      public void addFailedButWithinSuccessPercentageTest(ITestNGMethod testMethod, ITestResult result)
      Specified by:
      addFailedButWithinSuccessPercentageTest in interface org.testng.internal.ITestResultNotifier
    • getTest

      public XmlTest getTest()
      Specified by:
      getTest in interface org.testng.internal.ITestResultNotifier
    • getTestListeners

      public List<ITestListener> getTestListeners()
      Specified by:
      getTestListeners in interface org.testng.internal.ITestResultNotifier
    • getConfigurationListeners

      public List<IConfigurationListener> getConfigurationListeners()
      Specified by:
      getConfigurationListeners in interface org.testng.internal.ITestResultNotifier
    • getVerbose

      public static int getVerbose()
    • setVerbose

      public void setVerbose(int n)
    • addListener

      public void addListener(ITestNGListener listener)
    • getExitCodeListener

      public ITestListener getExitCodeListener()
      Specified by:
      getExitCodeListener in interface org.testng.internal.ITestResultNotifier
    • getCurrentXmlTest

      public XmlTest getCurrentXmlTest()
      Specified by:
      getCurrentXmlTest in interface ITestContext
      Returns:
      the current XmlTest.
    • getAttribute

      public Object getAttribute(String name)
      Specified by:
      getAttribute in interface IAttributes
      Parameters:
      name - The name of the attribute to return
      Returns:
      The attribute
    • setAttribute

      public void setAttribute(String name, Object value)
      Description copied from interface: IAttributes
      Set a custom attribute.
      Specified by:
      setAttribute in interface IAttributes
      Parameters:
      name - The attribute name
      value - The attribute value
    • getAttributeNames

      public Set<String> getAttributeNames()
      Specified by:
      getAttributeNames in interface IAttributes
      Returns:
      all the attributes names.
    • removeAttribute

      public Object removeAttribute(String name)
      Description copied from interface: IAttributes
      Remove the attribute
      Specified by:
      removeAttribute in interface IAttributes
      Parameters:
      name - The attribute name
      Returns:
      the attribute value if found, null otherwise
    • getInjectorFactory

      public IInjectorFactory getInjectorFactory()
      Specified by:
      getInjectorFactory in interface ITestContext