Is there an HtmlUnitDriver for .NET?

2019-01-22 06:47发布

问题:

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?

回答1:

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())


回答2:

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.



回答3:

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 :(