0

My test.xml file is as below

<suite name="suitename">

<test name="testname1">
    <classes>
        <class
            name="com.org.test1" />
    </classes>
</test>
<test name="testname2">
    <classes>
        <class
            name="com.org.test2" />
    </classes>
</test>

I try to use command line java org.testng TestNG test.xml -testname testname2 to just run the second class. however, it run both of the tests.

How to fix that?

Thanks

sspqingda
  • 29
  • 1
  • 6

2 Answers2

2

below is command to execute requited tests from testng.xml from command prompt

  java -cp ".\bin;.\lib\*;" org.testng.TestNG testng.xml -testnames Test1

i hope you used -testname which invokes defult suite.

  Usage: <main class> [options] The XML suite files to run
Options:
-configfailurepolicy
   Configuration failure policy (skip or continue)
-d
   Output directory
-dataproviderthreadcount
   Number of threads to use when running data providers
-excludegroups
   Comma-separated list of group names to  exclude
-groups
   Comma-separated list of group names to be run
-junit
   JUnit mode
   Default: false
-listener
   List of .class files or list of class names implementing ITestListener or

   ISuiteListener
-methods
   Comma separated of test methods
   Default: []
-methodselectors
   List of .class files or list of class names implementing IMethodSelector
-mixed
   Mixed mode - autodetect the type of current test and run it with
   appropriate runner
   Default: false
-objectfactory
   List of .class files or list of class names implementing
   ITestRunnerFactory
-parallel
   Parallel mode (methods, tests or classes)
   Possible Values: [tests, methods, classes, instances, none, true, false]
-port
   The port
-reporter
   Extended configuration for custom report listener
-suitename
   Default name of test suite, if not specified in suite definition file or
   source code
-suitethreadpoolsize
   Size of the thread pool to use to run suites
   Default: 1
-testclass
   The list of test classes
-testjar
   A jar file containing the tests
-testname
   Default name of test, if not specified in suitedefinition file or source
   code
-testnames
   The list of test names to run
-testrunfactory, -testRunFactory
   The factory used to create tests
-threadcount
   Number of threads to use when running tests in parallel
-usedefaultlisteners
   Whether to use the default listeners
   Default: true
-log, -verbose
   Level of verbosity
-xmlpathinjar
   The full path to the xml file inside the jar file (only valid if -testjar

   was specified)
   Default: testng.xml

Thank You, Murali

murali selenium
  • 3,847
  • 2
  • 11
  • 20
  • Hi Murali, If I use -testnames, the does @BeforeSuite method in other method run or not. It seems it doesn't. – sspqingda May 02 '16 at 16:49
1

We can use exclude tag in testng.xml file, if we want to skip the execution of any part of test cases. Please find below xml file which skips the execution of testname1 test:

<suite name="suitename">

<test name="testname1">
    <classes>
        <exclude
             name="com.org.test1" />
    </classes>
</test>
<test name="testname2">
    <classes>
        <class
             name="com.org.test2" />
    </classes>
</test>

Hope this helps.

k.s. Karthik
  • 731
  • 6
  • 16