Hi Everyone
I was trying to build a sample war file and deploy it on a tomcat server. But, I'm facing this error of testNG unable to find class in the classpath. But I am pretty sure I have mentioned the right class path.
Here is my testng.xml
<span><?</span><span>xml version</span><span>=</span><span>"1.0"</span><span> encoding</span><span>=</span><span>"UTF-8"</span><span>?></span>
<span><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" ></span>
<span><suite</span> <span>name</span><span>=</span><span>"User Registration suite 1"</span> <span>verbose</span><span>=</span><span>"1"</span> <span>></span>
<span><test</span> <span>name</span><span>=</span><span>"Regression suite 1"</span> <span>></span>
<span><classes></span>
<span><class</span> <span>name</span><span>=</span><span>"com.vaannila.domain.UserTest"</span><span>/></span>
<span></classes></span>
<span></test></span>
<span></suite></span>Here is my UserTest.java class:
<span>package</span><span> com</span><span>.</span><span>vaannila</span><span>.</span><span>domain</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>testng</span><span>.</span><span>annotations</span><span>.</span><span>Test</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>testng</span><span>.</span><span>annotations</span><span>.</span><span>BeforeTest</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>testng</span><span>.</span><span>annotations</span><span>.</span><span>AfterTest</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>chrome</span><span>.</span><span>ChromeDriver</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>chrome</span><span>.</span><span>ChromeOptions</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>WebDriver</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>WebElement</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>By</span><span>;</span>
<span>import</span><span> org</span><span>.</span><span>openqa</span><span>.</span><span>selenium</span><span>.</span><span>support</span><span>.</span><span>ui</span><span>.</span><span>Select</span><span>;</span>
<span>//Java imports</span>
<span>import</span><span> java</span><span>.</span><span>util</span><span>.</span><span>concurrent</span><span>.</span><span>TimeUnit</span><span>;</span>
<span>import</span><span> java</span><span>.</span><span>util</span><span>.</span><span>List</span><span>;</span>
<span>public</span> <span>class</span> <span>UserTest</span> <span>{</span>
<span>private</span> <span>WebDriver</span><span> driver</span><span>;</span>
<span>private</span> <span>String</span><span> baseUrl</span><span>;</span>
<span>@BeforeTest</span>
@Test<br> @AfterTest<br>}Here is my build.xml file:
<span><?</span><span>xml version</span><span>=</span><span>"1.0"</span> <span>?></span>
<span><project</span> <span>name</span><span>=</span><span>"UserRegistrationAnt"</span> <span>default</span><span>=</span><span>"war"</span> <span>basedir</span><span>=</span><span>"."</span> <span>xmlns:sonar</span><span>=</span><span>"antlib:org.sonar.ant"</span><span>></span>
<span><!-- Beginning of project dir definition --></span>
<span><property</span> <span>name</span><span>=</span><span>"testng.xml.file"</span> <span>value</span><span>=</span><span>"testng.xml"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"basedir"</span> <span>location</span><span>=</span><span>"."</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"src"</span> <span>location</span><span>=</span><span>"${basedir}/src"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"lib"</span> <span>location</span><span>=</span><span>"${basedir}/WebContent/WEB-INF/lib"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"build"</span> <span>location</span><span>=</span><span>"${basedir}/target/classes"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"war-file"</span> <span>location</span><span>=</span><span>"${basedir}/dist"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"test-reports"</span> <span>location</span><span>=</span><span>"{basedir}/test-reports"</span> <span>/></span>
<span><!-- End of project dir definition --></span>
<span><!-- Beginning of sonar properties definition --></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.host.url"</span> <span>value</span><span>=</span><span>"http://xx.xx.x.xxx:9000"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.projectKey"</span> <span>value</span><span>=</span><span>"9bc89a6e0d659c33ef4b61b27dc486b1f9075241"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.projectName"</span> <span>value</span><span>=</span><span>"9bc89a6e0d659c33ef4b61b27dc486b1f9075241"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.projectVersion"</span> <span>value</span><span>=</span><span>"1.0"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.language"</span> <span>value</span><span>=</span><span>"java"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.sources"</span> <span>value</span><span>=</span><span>"${src}"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.java.binaries"</span> <span>value</span><span>=</span><span>"${build}"</span> <span>/></span>
<span><property</span> <span>name</span><span>=</span><span>"sonar.sourceEncoding"</span> <span>value</span><span>=</span><span>"UTF-8"</span> <span>/></span>
<span><!-- End of sonar properties definition --></span>
<span><!-- Definition of external dependencies location --></span>
<span><path</span> <span>id</span><span>=</span><span>"compile.classpath"</span><span>></span>
<span><fileset</span> <span>dir</span><span>=</span><span>"${lib}"</span><span>></span>
<span><include</span> <span>name</span><span>=</span><span>"*.jar"</span><span>/></span>
<span></fileset></span>
<span></path></span>
<span><!-- Making dirs for compiled, war file and test reports--></span>
<span><target</span> <span>name</span><span>=</span><span>"init"</span><span>></span>
<span><mkdir</span> <span>dir</span><span>=</span><span>"${build}"</span><span>/></span>
<span><mkdir</span> <span>dir</span><span>=</span><span>"${war-file}"</span> <span>/></span>
<span><mkdir</span> <span>dir</span><span>=</span><span>"${test-reports}"</span> <span>/></span>
<span></target></span>
<span><!-- Compilation of our source and test code --></span>
<span><target</span> <span>name</span><span>=</span><span>"compile"</span> <span>depends</span><span>=</span><span>"init"</span> <span>></span>
<span><javac</span> <span>destdir</span><span>=</span><span>"${build}"</span> <span>debug</span><span>=</span><span>"true"</span> <span>srcdir</span><span>=</span><span>"${src}"</span> <span>classpathref</span><span>=</span><span>"compile.classpath"</span> <span>includeantruntime</span><span>=</span><span>"false"</span> <span>/></span>
<span></target></span>
<span><!-- Execution of testng --></span>
<span><taskdef</span> <span>name</span><span>=</span><span>"testng"</span> <span>classname</span><span>=</span><span>"org.testng.TestNGAntTask"</span> <span>classpathref</span><span>=</span><span>"compile.classpath"</span> <span>/></span>
<span><target</span> <span>name</span><span>=</span><span>"tests"</span> <span>depends</span><span>=</span><span>"compile"</span><span>></span>
<span><testng</span> <span>outputdir</span><span>=</span><span>"${test-reports}"</span> <span>classpathref</span><span>=</span><span>"compile.classpath"</span> <span>haltOnFailure</span><span>=</span><span>"true"</span><span>></span>
<span><classpath</span> <span>location</span><span>=</span><span>"{build}"</span> <span>/></span>
<span><xmlfileset</span> <span>dir</span><span>=</span><span>"${basedir}"</span> <span>includes</span><span>=</span><span>"${testng.xml.file}"</span> <span>/></span>
<span></testng></span>
<span></target></span>
<span><!-- Execution of sonar analysis --></span>
<span><target</span> <span>name</span><span>=</span><span>"sonar"</span> <span>depends</span><span>=</span><span>"compile"</span><span>></span>
<span><taskdef</span> <span>uri</span><span>=</span><span>"antlib:org.sonar.ant"</span> <span>resource</span><span>=</span><span>"org/sonar/ant/antlib.xml"</span><span>></span>
<span><!-- update the following line or put sonar-ant-task-*.jar in $ANT_HOME/.ant/lib folder --></span>
<span><classpath</span> <span>path</span><span>=</span><span>"/opt/ant/apache-ant-1.10.5/lib/sonarqube-ant-task-2.5.jar"</span> <span>/></span>
<span></taskdef></span>
<span><!-- Execute SonarQube scanner for ant analysis --></span>
<span><sonar:sonar</span> <span>/></span>
<span></target></span>
<span><target</span> <span>name</span><span>=</span><span>"war"</span> <span>depends</span><span>=</span><span>"compile"</span><span>></span>
<span><war</span> <span>destfile</span><span>=</span><span>"{war-file}/AntExample.war"</span> <span>webxml</span><span>=</span><span>"WebContent/WEB-INF/web.xml"</span><span>></span>
<span><fileset</span> <span>dir</span><span>=</span><span>"${basedir}/WebContent"</span><span>/></span>
<span><lib</span> <span>dir</span><span>=</span><span>"${lib}"</span><span>/></span>
<span><classes</span> <span>dir</span><span>=</span><span>"${build}"</span><span>/></span>
<span></war></span>
<span></target></span>
<span><!--target name="clean">
<delete dir="dist" />
<delete dir="build" />
<delete dir="reports" />
</target--></span>
<span><target</span> <span>name</span><span>=</span><span>"all"</span> <span>depends</span><span>=</span><span>"init, compile, tests, sonar, war"</span> <span>description</span><span>=</span><span>"one single target to fire up every ant build stage"</span> <span>/></span>
<span></project></span>I am completely blank about this error, and have referred this link but my builds are happening without a glitch in eclipse IDE and cmd.exe. The build is failing in Atlassian bamboo CI server with the aforementioned error. So that issue and mine are completely different. I can't clean and do a build in a CI server.
Should I place testng jar in ANT_HOME/lib folder? Will that resolve this issue?
I need help on resolving this error.
Regards
Aditya