使用Baseclass.Contrib.SpecFlow.Selenium.NUnit在@Browser中运行测试:Firefox(C#/ Specflow)

时间:2016-04-20 18:33:32

标签: c# selenium ui-automation specflow browser-automation

我目前正在使用from plyer import gps from kivy.app import App from import kivy.uix.button Button class mi_app(App): def buscar_coord (self, **kwargs):      info = Kwargs.items()         ## Decodificas the json       print str(info)     def gps_activar(self, ins):      self.buscar_coord() def build(self):       gps.configure (on_location = self.buscar_coord)         ## we call start method         gps.start ()         return Button(text = "TEST_GPS" on_release = self.gps_activar) mi_app().run() Baseclass.Contrib.SpecFlow标签在多个浏览器中运行我的Specflow测试。

我的测试:

@Browser:IE

@Browser:铬

@Browser:火狐

场景大纲:添加两个数字
...

...

安装这些浏览器驱动程序后,这对@Browser@Browser:Chrome很有用。不幸的是,它不能与@Browser:IE一起使用,我相信它应该是因为Selenium默认使用Firefox驱动程序。

我收到的错误消息是来自@Browser:Firefox

的异常

在类型'FirefoxDriver'上调用构造函数'Void .ctor()'时抛出异常。 --->系统找不到指定的文件

在Exception消息中挖掘后,我找不到它尝试的文件,但找不到。

我尝试安装外部Firefox浏览器驱动程序(Marionette),但这也不起作用。

我的配置:

Autofac.Core.DependencyResolutionException:

关于如何使这个工作的任何想法?

关于使用Baseclass.Contrib.SpecFlow:

的其他几个讨论

3 个答案:

答案 0 :(得分:1)

今天我遇到了同样的问题。我更新了Selenium WebDriver NuGet包,现在它适用于我。试一试。也许它也会为你解决它。

答案 1 :(得分:0)

I rewrote Baseclass.Contrib.SpecFlow.Selenium.NUnit for 2.1 support.

新代码库,对nunit3的@ignore标签支持以及BrowserStack,SauceLabs,TestingBot等多种测试服务。看看

答案 2 :(得分:0)

我创建了一个新的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