First, I am not an Ant expert. I am trying to create an ant task to
run my tests. Below is my ant task,
<target name="run-test-testng" depends="compile-test">
<echo message="Running testng test..." />
<testng classpathref="run.classpath" groups="${testng.groups}"
outputDir="${dir.build.report}" haltOnFailure="true" verbose="2"
suiteName="${testng.suite.name}" testName="${testng.test.name}">
<classfileset dir="${dir.build.test}" includes="**/
SampleTest.class" />
<classfileset dir="${dir.build.test}" includes="**/
Sample2Test.class" />
</testng>
</target>
Here are my sample tests,
public class SampleTest extends TelluriumTestNGTestCase {
@Test(enabled=true, groups=["regression"])
public void testXYZ() {
openUrl("http://www.yahoo.com");
sleep 3000
System.out.println("hello world");
}
}
public class Sample2Test extends TelluriumTestNGTestCase {
@Test(enabled=true, groups=["regression"])
public void testXYZ() {
openUrl("http://www.google.com");
sleep 3000
System.out.println("hello world 2");
}
}
I have set "runInternally = true" in Tellurium config file.
Here is my stack trace,
run-test-testng:
[echo] Running testng test...
[testng] [Parser] Running:
[testng] Regression Testing
[testng]
[testng] Parse configuration file: TelluriumConfig.groovy from
project root directory
[testng] Configure UI Object Builders using configuration
[testng] Configure widget modules using configuration
[testng] Configure event handler using configuration
[testng] Configure data accessor using configuration
[testng] Configure dispatcher using configuration
[testng] Configure Embedded Selenium Server using configuration
[testng] Warning: No user-extensions.js
[testng] Configure Selenium Client using configuration
[testng] Configure Embedded Selenium Server using configuration
[testng] Warning: No user-extensions.js
[testng] java.net.BindException: Selenium is already running on
port 4444. Or some other service is.
[testng] at
org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:
378)
[testng] at
org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:
224)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[testng] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[testng] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[testng] at java.lang.reflect.Method.invoke(Method.java:597)
[testng] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite
$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:
229)
[testng] at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:
52)
[testng] at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
121)
[testng] at
org.telluriumsource.server.SeleniumServerDaemon.run(SeleniumServerDaemon.groovy:
142)
[testng] at org.telluriumsource.server.SeleniumServerDaemon
$run.call(Unknown Source)
[testng] at
org.telluriumsource.server.EmbeddedSeleniumServer.setUpSeleniumServer(EmbeddedSeleniumServer.groovy:
63)
[testng] at org.telluriumsource.server.EmbeddedSeleniumServer
$setUpSeleniumServer.callCurrent(Unknown Source)
[testng] at
org.telluriumsource.server.EmbeddedSeleniumServer.runSeleniumServer(EmbeddedSeleniumServer.groovy:
74)
[testng] at org.telluriumsource.server.EmbeddedSeleniumServer
$runSeleniumServer.call(Unknown Source)
[testng] at
org.telluriumsource.framework.TelluriumFramework.start(TelluriumFramework.groovy:
145)
[testng] at org.telluriumsource.framework.TelluriumFramework
$start.callCurrent(Unknown Source)
[testng] at
org.telluriumsource.framework.TelluriumFramework.start(TelluriumFramework.groovy:
154)
[testng] at
org.telluriumsource.test.java.TelluriumTestNGTestCase.setUpForTest(TelluriumTestNGTestCase.java:
23)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[testng] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[testng] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[testng] at java.lang.reflect.Method.invoke(Method.java:597)
[testng] at
org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
[testng] at
org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:
443)
[testng] at
org.testng.internal.Invoker.invokeConfigurations(Invoker.java:160)
[testng] at
org.testng.internal.Invoker.invokeConfigurations(Invoker.java:90)
[testng] at org.testng.TestRunner.beforeRun(TestRunner.java:522)
[testng] at org.testng.TestRunner.run(TestRunner.java:490)
[testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
[testng] at
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
[testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:
296)
[testng] at org.testng.SuiteRunner.run(SuiteRunner.java:201)
[testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:
915)
[testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
[testng] at org.testng.TestNG.run(TestNG.java:787)
[testng] at org.testng.TestNG.privateMain(TestNG.java:952)
[testng] at org.testng.TestNG.main(TestNG.java:925)
[testng] Configure Selenium Client using configuration
[testng] hello world 2
[testng] hello world
[testng] PASSED: testXYZ
[testng] PASSED: testXYZ
[testng]
[testng] ===============================================
[testng] Functional
[testng] Tests run: 2, Failures: 0, Skips: 0
[testng] ===============================================
[testng]
[testng]
[testng] ===============================================
[testng] Module Testing
[testng] Total tests run: 2, Failures: 0, Skips: 0
[testng] ===============================================
[testng]
[testng] [org.testng.internal.PoolService] Shutting down
poolservice org.testng.internal.poolserv...@617e53c9 terminated:false
First, if I only have one class file, everything works fine. The
problem only arise when I have 2+ test classes in the ant task.
This is how I understood how things worked:
- runInternally = true will start the embedded selenium server for
you
- In TelluriumTestNGTestCase class, there is the annotated
setUpForTest an tearDownForTest methods which will start the Tellurium
server (embedded selenium server) and connects the test to it, and
stop during tear down.
- Looking at the execution window, I did see 2 separate browser
sessions popup and go down which leads me to think that the setup and
teardown methods did get call. What i don't understand is where else
is an attempt to start the selenium server happening...
I saw this thread, but didn't find a solution there.
http://groups.google.com/group/tellurium-users/browse_thread/thread/d265147501a92f12/7ff565bf7c85db5b?lnk=gst&q=selenium+server
--
You received this message because you are subscribed to the Google Groups
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tellurium-users?hl=en.