I'm using Selenium's WebDriver to run some SpecFlow tests for an ASP.NET MVC app I'm working on for self-education.
Using FirefoxDriver
, ChromeDriver
, etc. all take so long to run, it's actually pretty frustrating to use them (in my opinion).
I have read about an HtmlUnitDriver
that is supposedly much faster than the browser-based drivers; but I can't seem to find a version in the .NET client library (only Java). Is there a .NET version out there?
To use HtmlUnit you need to use the RemoteWebDriver and pass in the desired capabilities for it.
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit())
and away you go. If you want the Firefox implementation to run use
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnitWithJavaScript())
The RemoteWebDriver approach is the one the Selenium devs recommend: discussion
As per that link however, if you prefer, it is easy enough invoke HtmlUnit via IKVM; that worked well for me.
I think Steve Sanderson described this first.
Well, looks like the answer right now is unfortunately no. I found this on the Google Code site; a user asked:
Is this possible to transfer to C#?
...to which one of the developers responded:
Not without taking a dependency on IKVM, which is not something we are prepared to do at this time.
Oh well :(