Just about to implement a test framework with Maven+TestNG+Selenium.
How do you declare a suite.xml that tells TestNG to run ALL tests? I\'ve tried all thes
AFAIK testng doesn't have an option of regex like you are looking for.
But, I think you can get what you want in two ways :
If you are working on Eclipse with the Testng plugin. You can just select your test folder which has all the packages defined. With maven it would mostly be your src/test/java folder, right click and say run as testng. What this would do is it would create a temporary customsuite.xml which would have all your classes listed. You can save the xml as your default xml.
The surefire plugin with maven has an option of specifying includes and then a pattern. You can try setting it to */.java which I think would pickup all testcases (not tried though). You can invoke your tests as mvn test then.
Should use .* to match them all as far as I know.
Assume you have a three level package, your test classes are under the com.abc.xyz
package.
<package name="*" /> </packages> , doesn't work.
<package name="com.*.*" /> doesn't work.
<package name="com.abc.*" /> does work.
You can add all test classes inside a package by declaring testng.xml
file as
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="sampleTest" parallel="false">
<test name="sample-Test" preserve-order="true" verbose="2">
<packages>
<package name="org.sample.something.*"/>
</packages>
</test>
</suite>
There is nowhere to pass tests as search options. If you want to do something like that you have to implement the suite in code and implement search scenario there.
Below Works From 3 Level Pkg at TestNg
<package name="orgPkg.namePkg.appnamePkg.applicationPkg.functionalityPkg"/></packages>