ChromeDriver: chromedriver.exe does not exist

10,726 views
Skip to first unread message

Pawel Marek

unread,
Jun 15, 2011, 10:39:40 AM6/15/11
to webdriver
Hi Guys,

I don't know what is going on, but I have test and under FF and IE8
everything works fine, but I can't use it under Chrome browser.

When I'm starting my script:

public void Setup()
{
//driver = new FirefoxDriver();
// driver = new InternetExplorerDriver();
driver = new ChromeDriver();
}

[Test]
public void Test3()
{
driver.Navigate().GoToUrl("http://www.javascriptkit.com/
javatutors/alert2.shtml");
IWebElement przycisk = driver.FindElement(By.XPath("//html/
body/table/tbody/tr/td[3]/div[4]/table/tbody/tr/td[2]/form/p/input"));
przycisk.Click();
IAlert alert = driver.SwitchTo().Alert();
Assert.AreEqual("dwdwdwd", alert.Text);
}

There is a only information:

SetUp : OpenQA.Selenium.WebDriverException : The file C:\Users\pawelm
\Documents\Visual Studio 2008\Projects\SkyscannerRC\SkyscannerRC\bin
\Debug\chromedriver.exe does not exist.

Maybe anyone know what is wrong with it?

I'm using W7 and Chrome browser version: 12.0.742.100

Jim Evans

unread,
Jun 15, 2011, 1:30:13 PM6/15/11
to webdriver
It's pretty clear what's wrong. You need to download the
chromedriver.exe from http://code.google.com/p/selenium/downloads/list.

By default, chromedriver.exe must be in the same directory as your
test assembly (which is where WebDriver.dll will also be). There is
also a constructor overload for the ChromeDriver class that allows you
to specify the path to chromedriver.exe.

--Jim

Aaron

unread,
Jun 16, 2011, 8:44:27 AM6/16/11
to webdriver
>By default, chromedriver.exe must be in the same directory as your
test assembly (which is where WebDriver.dll will also be).

Sorry for the possibly stupid question, but what is the "test
assembly" and webdriver dll? Where is that located exactly?

Pawel Marek

unread,
Jun 16, 2011, 9:27:29 AM6/16/11
to webdriver
Hi Jim,

thanks for your tips - now everything is working as should :).



@Aaron - on my machine I added chromedriver.exe to following folder:

C:\Users\pawelm\Documents\Visual Studio 2008\Projects\RC\RC\bin\Debug


Cheers,
Pawel

bp

unread,
Jun 16, 2011, 10:48:06 AM6/16/11
to webdriver
My vote on this question too. It seems that this file is an extra
deliverable that is needed for chrome testing. This makes it harder to
deliver chrome testing on systems that don't have these files (and
also these will need to be updated every so often). I wonder if it is
possible for the Selenium code to embed these files and have them be
automatically extracted when new ChromeDriver() is called, all without
explicit knowledge of the user.

Aaron

unread,
Jun 16, 2011, 11:35:27 AM6/16/11
to webdriver
Thanks Pawel, but I don't understand where the webdrvier.dll file is,
and where exactly in my project I should put chrome.exe. I have the
proper system property set to the path where the exe is, all was
working fine, until the other day.

Jari Bakken

unread,
Jun 16, 2011, 12:26:36 PM6/16/11
to webd...@googlegroups.com
On Wed, Jun 15, 2011 at 7:30 PM, Jim Evans <james.h....@gmail.com> wrote:
> It's pretty clear what's wrong. You need to download the
> chromedriver.exe from http://code.google.com/p/selenium/downloads/list.
>

Perhaps the exception message should link to the Downloads +
ChromeDriver wiki page?

Michael Tamm

unread,
Jun 16, 2011, 3:08:42 PM6/16/11
to webd...@googlegroups.com
+1 for including chromedriver.exe in the our jar files!

Michael

2011/6/16 Jari Bakken <jari....@gmail.com>

--
You received this message because you are subscribed to the Google Groups "webdriver" group.
To post to this group, send email to webd...@googlegroups.com.
To unsubscribe from this group, send email to webdriver+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/webdriver?hl=en.


Luke Inman-Semerau

unread,
Jun 16, 2011, 3:29:38 PM6/16/11
to webd...@googlegroups.com
I'm not so sure about that... kinda doesn't make it cross platform (and arch: 32 vs 64)... unless you include all platforms and just have a naming convention?  Would definitely be nice to have it in the dependency chain though... wouldn't it be nice to not have to install it on every grid node every time you upgrade :) 

bp

unread,
Jun 16, 2011, 3:59:44 PM6/16/11
to webdriver
Now that I think about it, it would be even more streamlines if these
driver files became part of the chrome install. No regular user would
know that there are there, but when webdriver goes to fire off chrome,
it could use these, so a selenium user would never have to know about
these. Any possibiliity to do such a thing ?

On Jun 16, 3:29 pm, Luke Inman-Semerau <luke.seme...@gmail.com> wrote:
> I'm not so sure about that... kinda doesn't make it cross platform (and
> arch: 32 vs 64)... unless you include all platforms and just have a naming
> convention?  Would definitely be nice to have it in the dependency chain
> though... wouldn't it be nice to not have to install it on every grid node
> every time you upgrade :)
>
> On Thu, Jun 16, 2011 at 12:08 PM, Michael Tamm <michael.ta...@googlemail.com
>
>
>
>
>
>
>
> > wrote:
> > +1 for including chromedriver.exe in the our jar files!
>
> > Michael
>
> > 2011/6/16 Jari Bakken <jari.bak...@gmail.com>
>
> >> On Wed, Jun 15, 2011 at 7:30 PM, Jim Evans <james.h.evans...@gmail.com>
> >> wrote:
> >> > It's pretty clear what's wrong. You need to download the
> >> > chromedriver.exe fromhttp://code.google.com/p/selenium/downloads/list.

Daniel Wagner-Hall

unread,
Jun 16, 2011, 4:54:44 PM6/16/11
to webd...@googlegroups.com
For IE, we just include x86 and x64 dlls and the correct one is chosen
at runtime.

Jim Evans

unread,
Jun 16, 2011, 5:30:21 PM6/16/11
to webdriver
There's something of a difference (on Windows at least) between
embedding a .dll as a resource and extracting it at runtime to a temp
folder and doing the same as an .exe. The biggest stumbling block is
that antivirus scanners just *live* to flag executables that appear
out of nowhere and attempt to execute. This would render WebDriver
even more useless for Chrome as it would throw a quarantine warning
every time you try to create an instance of the ChromeDriver class.

--Jim

On Jun 16, 4:54 pm, Daniel Wagner-Hall <dawag...@gmail.com> wrote:
> For IE, we just include x86 and x64 dlls and the correct one is chosen
> at runtime.
>
> On 17 June 2011 04:29, Luke Inman-Semerau <luke.seme...@gmail.com> wrote:
>
>
>
> > I'm not so sure about that... kinda doesn't make it cross platform (and
> > arch: 32 vs 64)... unless you include all platforms and just have a naming
> > convention?  Would definitely be nice to have it in the dependency chain
> > though... wouldn't it be nice to not have to install it on every grid node
> > every time you upgrade :)
>
> > On Thu, Jun 16, 2011 at 12:08 PM, Michael Tamm
> > <michael.ta...@googlemail.com> wrote:
>
> >> +1 for including chromedriver.exe in the our jar files!
> >> Michael
>
> >> 2011/6/16 Jari Bakken <jari.bak...@gmail.com>
>
> >>> On Wed, Jun 15, 2011 at 7:30 PM, Jim Evans <james.h.evans...@gmail.com>
> >>> wrote:
> >>> > It's pretty clear what's wrong. You need to download the
> >>> > chromedriver.exe fromhttp://code.google.com/p/selenium/downloads/list.

Jason Leyba

unread,
Jun 21, 2011, 1:16:51 PM6/21/11
to webd...@googlegroups.com
We will not be including the chromedriver in the jars for the simple reason that the moment we do, we will get complaints that the jars are too big.  From our downloads page, we would have to include:

* chromedriver_linux64
* chromedriver_linux32
* chromedriver_mac
* chromedriver_win32

That will add close to 20 MB to the release jar.  Furthermore, the chromedriver will not be distributed directly by the selenium project for much longer.  It will soon be made available directly from the Chromium project.
Reply all
Reply to author
Forward
0 new messages