IllegalStateException: Driver instance must support JS.

1,691 views
Skip to first unread message

Robert Jones

unread,
Aug 23, 2011, 12:35:49 PM8/23/11
to Selenium Users
I am new to selenium, so sorry if this question is an easy one, but I
have scoured forums extensively before posting. I'm using the
dependencies found in selenium-java-2.4.0 and trying to run a junit4
test in eclipse helios. I'm getting IllegalStateException: Driver
instance must support JS.

Here's the relevant part of the code:

import java.util.HashSet;
import java.util.LinkedList;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;


public class Crawler {

private LinkedList<String> queue = new LinkedList<String>();

private WebDriver driver;
private String baseUrl="https://www.example.com";
private StringBuffer verificationErrors = new StringBuffer();

private WebDriverBackedSelenium selenium = new
WebDriverBackedSelenium(driver, baseUrl);

the run is failing at the last line i provided. Here is the stack
trace:


java.lang.IllegalStateException: Driver instance must support JS.
at
org.openqa.selenium.WebDriverCommandProcessor.assertDriverSupportsJavascript(WebDriverCommandProcessor.java:
192)
at
org.openqa.selenium.WebDriverCommandProcessor.<init>(WebDriverCommandProcessor.java:
73)
at
org.openqa.selenium.WebDriverBackedSelenium.<init>(WebDriverBackedSelenium.java:
30)
at Crawler.<init>(Crawler.java:21)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:
202)
at org.junit.runners.BlockJUnit4ClassRunner
$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
15)
at
org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:
248)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
76)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
197)

Please, for my sanity, help me out.

Tarun Bhadauria

unread,
Aug 24, 2011, 12:50:22 AM8/24/11
to seleniu...@googlegroups.com
I just noticed that you did not instantiate the driver -

private WebDriver driver;

could be -

private WebDriver driver =new FirefoxDriver();

See if this helps.

~tarun
http://seleniumsoftwaretesting.blogspot.com/

Robert Jones

unread,
Aug 24, 2011, 11:00:28 AM8/24/11
to Selenium Users
Yep, that worked. Its always the simple mistakes. Thank you so much!

On Aug 23, 11:50 pm, Tarun Bhadauria <tkum...@gmail.com> wrote:
> I just noticed that you did not instantiate the driver -
>
> *private WebDriver driver;*
>
> could be -
>
> *private WebDriver driver =new FirefoxDriver();
>
> *See if this helps.
>
> ~tarun* *http://seleniumsoftwaretesting.blogspot.com/

Tarun Bhadauria

unread,
Aug 25, 2011, 12:07:48 AM8/25/11
to seleniu...@googlegroups.com
No worries, glad it helped :)

Hamoodh

unread,
Aug 10, 2012, 12:11:13 AM8/10/12
to seleniu...@googlegroups.com
Tarun ji..can you help me..?

On Thursday, 9 August 2012 10:34:01 UTC+5:30, Hamoodh wrote:
Hi,

I am new to selenium, I'm also getting the same error which Robert got, IllegalStateException: Driver instance must support JS. 
When I used the code mentioned by you, the script runs successfully but the firefox opens blank and runs for long period.

I just pasted my trace below.

org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: 
*** LOG addons.xpi: startup
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: /tmp/anonymous1672821590109129805webdriver-profile/extensions/webdriver-staging
*** LOG addons.xpi: checkForChanges
*** LOG addons.xpi: No changes found
*** LOG addons.xpi: shutdown

Build info: version: '2.6.0', revision: '13840', time: '2011-09-13 14:56:25'
System info: os.name: 'Linux', os.arch: 'i386', os.version: '3.0.0-12-generic', java.version: '1.6.0_23'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:108)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:149)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:72)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:128)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:79)
at tests.w3csg.<init>(w3csg.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:202)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:248)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:96)
... 27 more

and also my console displays like this

log4j:WARN No appenders could be found for logger (org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager).
log4j:WARN Please initialize the log4j system properly.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:96)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:149)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:72)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:128)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:79)
at tests.w3csg.<init>(w3csg.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:202)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:248)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

If possible help me..

Regards,
Hamoodh

Krishnan Mahadevan

unread,
Aug 10, 2012, 1:30:49 AM8/10/12
to seleniu...@googlegroups.com
2.6.0 is a very old version of Selenium2. The latest released version of Selenium is 2.25.0



Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"



--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To post to this group, send email to seleniu...@googlegroups.com.
To unsubscribe from this group, send email to selenium-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/selenium-users/-/GpBQuK51UvIJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Tarun Kumar

unread,
Aug 10, 2012, 1:37:18 AM8/10/12
to seleniu...@googlegroups.com
Can you try Krishnan ji.. response?

Krishnan Mahadevan

unread,
Aug 10, 2012, 1:38:00 AM8/10/12
to seleniu...@googlegroups.com
Lol Tarun :)

Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"



On Fri, Aug 10, 2012 at 11:07 AM, Tarun Kumar <tku...@gmail.com> wrote:
Can you try Krishnan ji.. response?

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To post to this group, send email to seleniu...@googlegroups.com.
To unsubscribe from this group, send email to selenium-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/selenium-users/-/vmfFw-btEE8J.
Reply all
Reply to author
Forward
0 new messages