I'm currently working on running my Specflow tests in multiple browsers using Baseclass.Contrib.SpecFlow
and the @Browser
tags.
My test:
@Browser:IE
@Browser:Chrome
@Browser:Firefox
Scenario Outline: Add Two Numbers
...
...
This works GREAT with @Browser:Chrome
and @Browser:IE
after installing those browser drivers. Unfortunately, it does not work with @Browser:Firefox
, which I believe it should since Selenium has the Firefox driver by default.
The error message I get is an Exception from Autofac.Core.DependencyResolutionException:
An exception was thrown while invoking the constructor 'Void .ctor()' on type 'FirefoxDriver'. ---> The system cannot find the file specified
After digging around in the Exception messages, I can't find what file it tries and fails to find.
I tried installing an external Firefox browser driver (Marionette), but that did not work either.
My config:
<autofac>
<components>
<component name="IE" type="OpenQA.Selenium.IE.InternetExplorerDriver, WebDriver" service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
</component>
<component name="Chrome" type="OpenQA.Selenium.Chrome.ChromeDriver, WebDriver" service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
</component>
<component name="Firefox" type="OpenQA.Selenium.Firefox.FirefoxDriver, WebDriver" service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
</component>
<!-- Example of using an injected RemoteDriver:
<component
name="IE"
type="Baseclass.Contrib.SpecFlow.Selenium.NUnit.RemoteWebDriver, Baseclass.Contrib.SpecFlow.Selenium.NUnit.SpecFlowPlugin"
service="OpenQA.Selenium.IWebDriver, WebDriver"
instance-scope="per-dependency">
<parameters>
<parameter name="url" value="http://127.0.0.1:4444/wd/hub" />
<parameter name="browser" value="InternetExplorer">
</parameter>
</parameters>
</component>
-->
</components>
Any idea about how to get this working?
Few other discussions on using Baseclass.Contrib.SpecFlow: