使用Baseclass.Contrib.SpecFlow.Selenium.NUnit在@Browser:Firefox
本文关键字:@Browser Firefox NUnit Selenium Baseclass Contrib SpecFlow 使用 | 更新日期: 2024-10-20 08:25:31
我目前正在使用Baseclass.Contrib.SpecFlow
和@Browser
标记在多个浏览器中运行Specflow测试。
我的测试:
@浏览器:IE
@浏览器:Chrome
@浏览器:Firefox
场景大纲:添加两个数字
…
在安装了这些浏览器驱动程序后,这与@Browser:Chrome
和@Browser:IE
配合使用非常好。不幸的是,它不适用于@Browser:Firefox
,我认为它应该这样做,因为Selenium默认具有Firefox驱动程序。
我收到的错误消息是来自Autofac.Core.DependencyResolutionException:
的异常
调用类型"FirefoxDriver"的构造函数"Void.ctor()"时引发异常。--->系统找不到指定的文件
在挖掘异常消息后,我找不到它尝试查找但未能找到的文件。
我尝试安装一个外部Firefox浏览器驱动程序(Marionette),但也不起作用。
我的配置:
<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>
你知道怎么做吗?
关于使用Baseclass.Contrib.SpecFlow:的其他讨论很少
使用Browser.Current调用C#中具有Baseclass.Contrib.Specflow的浏览器
使用Webinator+Selenium、SpecFlow和NUnit 的多个浏览器测试
用于多浏览器测试的具有Specflow的DataSource属性
我今天也遇到了同样的问题。我更新了Selenium WebDriver NuGet包,现在它对我有效。试试吧。也许它也能帮你解决问题。
我重写了Baseclass.Contrib.SpecFlow.Selenium.NUnit以获得2.1支持。
新的代码库,@ignore标记支持nunit3和几个测试服务,如BrowserStack,SauceLabs,TestingBot。查看
我创建了一个新的SpecFlow插件(灵感来自Baseclass.Contrib.SpecFlow.Selenium.NUnit-感谢unickq)。
详细信息可以在下面找到,该插件旨在通过使用标签(如:)来针对不同的变体(如浏览器,但可灵活使用)
@Browser:Chrome
@Browser:IE
Scenario: A scenario title
这支持SpecFlow 2.4和v3,也就是核心。它还支持MsTest、NUnit和xUnit。
https://github.com/TotalTest/SpecFlow.Contrib.Variants