- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试使用 Selenium Grid 2 在多个浏览器上运行自动化测试。在我的研究过程中,我遇到了使用 Baseclass.Contrib.Specflow 的方法,它使我能够将浏览器用作功能文件中的标签,而无需在我的主驱动程序类中声明它。我遇到的问题是我阅读的其中一篇博客将以下内容作为设置代码
[SetUp]
public void Test_Setup(){
CurrentDriver = Browser.Current;}
我的应用配置文件看起来包含以下内容:
<components>
<!-- <component name="Firefox" type="OpenQA.Selenium.Firefox.FirefoxDriver, WebDriver" service="OpenQA.Selenium.IWebDriver, WebDriver" instance-scope="per-dependency">
</component>-->
<component name="Firefox"
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://localhost/wd/hub" />
<parameter name="browser" value="Firefox" />
</parameters>
</component>
<component name="Safari" 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://localhost/wd/hub" />
<parameter name="desiredCapabilities" value="Chrome" />
</parameters>
</component>
当我尝试使用上述设置方法运行脚本时出现错误。
错误:
System.Collections.Generic.KeyNotFoundException: 字典中不存在给定的键
我从中获得此解决方案的博客似乎没有回答与此相关的问题,所以我有点绝望。这基本上允许我在功能文件上进行以下操作,并根据标签运行测试
@Browser:Firefox
@Browser:Chrome
希望这些信息足以给我建议。
最佳答案
您在这里犯的错误是您使用标记 @Browser
注释整个功能文件。
Baseclass.Contrib.Specflow
允许您使用支持浏览器的场景来注释场景。因此,您必须对每个场景进行注释。
如果您不这样做,则没有为该测试设置当前浏览器,并且尝试访问 Browser.Current
将抛出 System.Collections.Generic.KeyNotFoundException
.
当生成的单元测试将包含浏览器名称作为单元测试名称的一部分时,您知道自己做对了
<Test Name> on <Browser> with: <parameters>
例子:
@Browser:IE
@Browser:Chrome
@Browser:Firefox
Scenario Outline: Add Two Numbers
>Given I navigated to / using
And I have entered <summandOne> into summandOne calculator
And I have entered <summandTwo> into summandTwo calculator
When I press add
Then the result should be <result> on the screen
Scenarios:
| summandOne| summandTwo|result|
| 10 | 20 | 30 |
| 3 | 4 | 7 |
关于c# - 使用 Browser.Current 在 C# 中使用 Baseclass.Contrib.Specflow 调用浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184992/
在 Visual Studio 中,当我输入特征文件时,如果该步骤尚不存在,它会突出显示。我想知道是否有可以在命令行中为 specflow 项目编写的命令,它可以为我提供已存在的所有步骤的列表? 最佳
场景大纲对于创建数据驱动的测试非常方便,但是场景的数量会随着示例的数量而增加。我已经养成了标记场景的习惯,以便更容易过滤我们应用程序的主要功能。 我想设置一个适用于所有主要用例的“冒烟测试”。其中一些
有没有办法用“显式”属性标记 Specflow 测试?我知道可以通过使用特殊标签@ignore 用“忽略”属性标记测试。 最佳答案 也许。 如果您查看生成的 xxx.feature.cs,您会看到它被
简而言之,我需要的是创建一个具有可重复步骤的场景大纲,而不必像我目前在下面所做的那样使用多个 AND 输入它: Scenario Outline: outline Given I am a u
如何在表格中传递空格? Background: Given the following books |Author |(here several spaces)
我有一个如下所示的 Specflow 场景 Scenario: I Shoot a gun When I pull the trigger Then It should expel a bullet
我想在 SpecFlow 功能中添加一些评论。 我收到以下错误: Custom tool error: Parsing error near '/*' 我尝试过以下方法: // comment /*
我从Techtalk了解到将步骤定义与特征耦合是一种反模式。不过,我想知道如何组织我的步骤定义,以便我可以在代码中轻松查看哪些步骤是一起进行的。 例如,我应该为每个功能创建一个代码文件,并为共享的步骤
我正在重构我们的 SpecFlow 实现的 BDD 测试。作为这项工作的一部分,我注释掉了大部分步骤定义。 当我运行测试时,我看到“未找到一个或多个步骤的匹配步骤定义”。消息。 但是,我不想等到测试实
如何配置 SpecFlow,使其不将计时信息显示为测试文本的一部分,例如 -> done: Steps.ThenIWillBeDeniedAccess() (0.0s) 干杯。贾斯。 最佳答案 结果我
我正在使用 SpecFlow 进行一些 BDD 式测试。我的一些功能是 UI 测试,所以他们使用 WatiN。有些不是 UI 测试,所以它们不是。 目前,我有一个 StepDefinitions.cs
我正在使用 SpecFlow,我想编写如下所示的场景: Scenario: Pressing add with an empty stack throws an exception Given
我的项目非常大,并且有大量的测试步骤。结果,当我编写“功能”文件时,我发现我的计算机停止了运转。在非常大的功能文件上,即使不输入任何内容,我的一个 CPU 内核也会最大化,并且性能会下降到输入非常滞后
如果您运行足够多次,我的 SpecFlow 测试会失败。如何进行现有的 SpecFlow 测试并使其运行无限次直到失败? (理想情况下,我想计算需要多少次。) 我最初的猜测是只调用测试脚本最终调用的绑
我已经编写了我希望在运行 specflow 测试之前执行的代码,以设置所有测试都需要的各种全局变量: namespace MyProject.IntegrationTest { public
我尝试使用 Specflow 编写一些功能。不幸的是,通过以下 URL 安装后,我无法在系统中的任何地方找到 techtalk.specflow.dll。 http://visualstudiogal
这是我们的验收测试之一的示例: Feature: Add an effect to a level In order to create a configuration As a user I wan
在我的功能文件中,IntelliSense 说有一个关键字叫 Scenarios .注意是复数。我已经倾注了documentation并且找不到任何对它的引用。任何人都可以解释它的用途以及如何使用它?
我们在我当前的项目中使用了 Specflow 和 WatIn 进行验收测试。客户希望我们改用 Microsoft coded-ui。我从未测试过编码的 ui,但从我目前看到的情况来看,它看起来很麻烦。
我希望能够在本地执行给定的 SpecFlow (Gherkin) .feature 文件,而无需进行编译。 因此工作流程将是(作为业务分析师或 QA 工程师): 1.修改.feature文件(使用预定
我是一名优秀的程序员,十分优秀!