簡體   English   中英

使用 Baseclass.Contrib.SpecFlow.Selenium.NUnit 在 @Browser:Firefox (C#/Specflow) 中運行測試

[英]Using Baseclass.Contrib.SpecFlow.Selenium.NUnit to run tests in @Browser:Firefox (C#/Specflow)

我目前正在使用Baseclass.Contrib.SpecFlow@Browser標簽在多個瀏覽器中運行我的 Specflow 測試。

我的測試:

@瀏覽器:IE

@瀏覽器:Chrome

@瀏覽器:火狐

場景大綱:兩個數字相加
...

...

安裝這些瀏覽器驅動程序后,這對@Browser:Chrome@Browser:IE 不幸的是,它不適用於@Browser:Firefox ,我相信它應該可以,因為 Selenium 默認具有 Firefox 驅動程序。

我得到的錯誤消息是來自Autofac.Core.DependencyResolutionException:的異常Autofac.Core.DependencyResolutionException:

在類型“FirefoxDriver”上調用構造函數“Void .ctor()”時拋出異常。 ---> 系統找不到指定的文件

在 Exception 消息中挖掘之后,我找不到它嘗試並未能找到的文件。

我嘗試安裝外部 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 的其他討論很少:

我今天遇到了同樣的問題。 我更新了 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM