I'll try to answer your questions as best I can, but be aware that I
don't really use the Java language bindings. If the executable
(ChromeDriver.exe) is on your path, then you need do nothing more
than:
WebDriver driver = new ChromeDriver();
If you want to specify the location of the executable, only then do
you need to specify the system property. Other language bindings may
handle things a little differently. For example, the default
constructor for the ChromeDriver class in the .NET bindings will first
look for the executable in the same directory as the
WebDriver.Chrome.dll assembly.
The ChromeDriver executable is written in C++. It's not maintained by
the Selenium team; it's built as part of the Chromium project (the
open-source project on which the Google Chrome browser is based). As a
native C++ application, it must be recompiled for each platform you
need to run it on. The big win here is that it's the browser
manufacturer, not the Selenium team, maintaining the code needed to
drive that particular browser; it is they who are responsible for
keeping up with changes to the browser, not the cat-and-mouse game we
see with some other browsers.
I'm not sure what you mean by "automatic server process control". The
WebDriver ChromeDriver class should start and stop the ChromeDriver
executable automatically. It's not something you *have* to manually
start (though, of course, you can, and can manually control the
lifetime of the executable process, if you want to). You can find more
about the ChromeDriver in the project wiki[1].
Regards,
--Jim
[1]
http://code.google.com/p/selenium/wiki/ChromeDriver
> > > > > > used, based on this code:
http://code.google.com/p/selenium/source/browse/trunk/java/client/src...-