Specflow / Autofac - 如何使用配置文件设置Firefox驱动程序

时间:2015-06-30 06:24:26

标签: c# selenium selenium-webdriver bdd specflow

我想问你是否可以使用Specflow / Autofac设置配置文件的Firefox驱动程序。这是从App.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>
</autofac>

在代码的注释部分中,有一个为驱动程序设置一些参数的示例,但我找不到设置配置文件的方法。你知道怎么做吗?或者也许还有另一种方法可以直接从Specflow设置配置文件?

1 个答案:

答案 0 :(得分:0)

在网上快速搜索后,我找到了this page,其中提供了有关从个人资料开始的一些信息:

ProfilesIni profile = new ProfilesIni();     
FirefoxProfile myprofile = profile.getProfile("profileToolsQA");     
WebDriver driver = new FirefoxDriver(myprofile)

所以无论你现在在Specflow中创建webdriver实例,都可以使用它来创建一个配置文件。我假设配置文件必须先存在。

如果个人资料不存在,那么您可以使用this answer中的信息来帮助您。