We have had these kind of problems with Selenium Grid, where the HUB is
locked and not communicating with the RC machine anymore. We suspect that
this is due to the default timeout. If the Selenium RC session sits idle for
some time then Selenium HUB stops communicating with the Selenium RC
instances. The new version of Selenium Grid solves this by providing self
healing properties which users can use to override the default behaviour.
You can use the following URL to make a call to the HUB to un-register the
hanged RC sessions.
http://
{selenium.hub}:{hub.port}/registration-manager/unregister?host={RC.host}&port=5556&environment=*iexplore
As Jian mentioned, we are planning to have native parallelisation in
Tellurium which should improve things.
Cheers
Haroon
On 25 May 2010 20:30, John <[email protected]> wrote:
> But to your questions, I would say that the test parallelism in 0.6.0
> is poor.
> 0.7.0 is not any better. In 0.8.0, we will reconsider the whole
> architecture to support that.
>
> If you don't call disconnectSeleniumServer(), the broswer will keep
> open.
> But once you shutdown selenium server, all the browser sessions
> associated
> with it will be forced to close. Would you be able to shut down
> Selenium
> server after run the tests?
>
> Thanks,
>
> Jian
>
> On May 25, 3:10 pm, Jian Fang <[email protected]> wrote:
> > Haroon used Selenium Grid and hope he can give you some suggestions.
> >
> > Thanks,
> >
> > Jian
> >
> > On Tue, May 25, 2010 at 3:06 PM, Jason <[email protected]> wrote:
> > > hey all,
> >
> > > I've got a periodic hang at the end of my test suite during
> > > SeleniumConnector.disconnectSeleniumServer() -- it's not consistent,
> > > but quite frequent.
> >
> > > Can you advise on what may cause this, and (if it can't easily be
> > > fixed) a workaround? ie: can I execute this in its own thread and
> > > kill it if it hangs and retry? I'm not sure if this approach will
> > > help at all. If I just end the suite without the disconnect, I
> > > believe my selenium session will stay permanently active, right?
> >
> > > Here's what's happening on the tellurium (client/ant) side:
> >
> > > [groovyt] "main" prio=10 tid=0x000000005b3cd800 nid=0x7277 runnable
> > > [0x0000000040208000]
> > > [groovyt] java.lang.Thread.State: RUNNABLE
> > > [groovyt] at java.net.SocketInputStream.socketRead0(Native
> > > Method)
> > > [groovyt] at
> > > java.net.SocketInputStream.read(SocketInputStream.java:129)
> > > [groovyt] at
> > > java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> > > [groovyt] at
> > > java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> > > [groovyt] at
> > > java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> > > [groovyt] - locked <0x00002aaab092d108> (a
> > > java.io.BufferedInputStream)
> > > [groovyt] at
> > > sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
> > > [groovyt] at
> > > sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
> > > [groovyt] at
> >
> > >
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection....
> > > 1072)
> > > [groovyt] - locked <0x00002aaab091b798> (a
> > > sun.net.www.protocol.http.HttpURLConnection)
> > > [groovyt] at
> > > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
> > > [groovyt] at
> >
> > >
> com.thoughtworks.selenium.HttpCommandProcessor.getResponseCode(HttpCommandProcessor.java:
> > > 144)
> > > [groovyt] at
> >
> > >
> com.thoughtworks.selenium.HttpCommandProcessor.getCommandResponseAsString(HttpCommandProcessor.java:
> > > 164)
> > > [groovyt] at
> >
> > >
> com.thoughtworks.selenium.HttpCommandProcessor.executeCommandOnServlet(HttpCommandProcessor.java:
> > > 104)
> > > [groovyt] at
> >
> > >
> com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:
> > > 86)
> > > [groovyt] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > Method)
> > > [groovyt] at
> > >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > > 39)
> > > [groovyt] at
> >
> > >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> > > 25)
> > > [groovyt] at java.lang.reflect.Method.invoke(Method.java:597)
> > > [groovyt] at
> > > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite
> > > $PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:
> > > 229)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:
> > > 52)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
> > > 40)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> > > 117)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> > > 129)
> > > [groovyt] at
> >
> > >
> org.tellurium.connector.CustomSelenium.cleanSelectorCache(CustomSelenium.groovy:
> > > 145)
> > > [groovyt] at org.tellurium.connector.CustomSelenium
> > > $cleanSelectorCache.call(Unknown Source)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
> > > 40)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> > > 117)
> > > [groovyt] at
> >
> > >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> > > 121)
> > > [groovyt] at
> >
> > >
> org.tellurium.connector.SeleniumConnector.disconnectSeleniumServer(SeleniumConnector.groovy:
> > > 91)
> >
> > > here's what's going on on the grid -- not sure which of these threads
> > > is communicating with the selenium server...
> >
> > > "Thread-1" daemon prio=6 tid=0x02f8a400 nid=0xcb8 runnable
> > > [0x030af000]
> > > java.lang.Thread.State: RUNNABLE
> > > at java.io.FileInputStream.readBytes(Native Method)
> > > at java.io.FileInputStream.read(FileInputStream.java:177)
> > > at
> > > org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:92)
> > > at java.lang.Thread.run(Thread.java:619)
> >
> > > "Thread-0" daemon prio=6 tid=0x02f84800 nid=0x4fc runnable
> > > [0x0305f000]
> > > java.lang.Thread.State: RUNNABLE
> > > at java.io.FileInputStream.readBytes(Native Method)
> > > at java.io.FileInputStream.read(FileInputStream.java:199)
> > > at java.io.BufferedInputStream.fill(BufferedInputStream.java:
> > > 218)
> > > at java.io.BufferedInputStream.read1(BufferedInputStream.java:
> > > 258)
> > > at java.io.BufferedInputStream.read(BufferedInputStream.java:
> > > 317)
> > > - locked <0x22f24098> (a java.io.BufferedInputStream)
> > > at java.io.FilterInputStream.read(FilterInputStream.java:90)
> > > at
> > > org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:92)
> >
> > > --
> > > 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]<tellurium-users%[email protected]>
> <tellurium-users%[email protected]<tellurium-users%[email protected]>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/tellurium-users?hl=en.
>
> --
> 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]<tellurium-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/tellurium-users?hl=en.
>
>
--
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.