c# - 如何使用 SpecFlow 测试选择的 html 控件对象?

标签 c# testing specflow acceptance-testing

我在页面上有 html 选择:

<select id="StateName" name="StateName">
<option value=""></option>
<option value="value1">value1</option>
<option value="value2">value2</option>
<option value="value3">value3</option>
<option value="value4">value4</option>
<option value="value5">value5</option>
</select>

我已经尝试过这样的步骤定义

[When("I select value \"(.*)\" of select object with id \"(.*)\"")]
public void ThenSelectValueOfSelect(string value, string selectId)
{
   var select = TestsRunner.Browser.GetElementById(selectId);
   select.Click();
   var item = TestsRunner.Browser.GetElementsByTag(@"option").SingleOrDefault(o => o.GetAttribute("value").Equals(value, StringComparison.OrdinalIgnoreCase));
   item.Click();
}

作为 testsrunner 浏览器,我使用 firefox。问题是选择项目被下拉但未选择具体选项。

最佳答案

我认为它可以做得更短/更容易。我从下拉框中选择值的方式:

SelectElement dropdown = new SelectElement(Driver.FindElement(By.Id(dropdownID)));
dropdown.SelectByValue(valueToBeSelected);

它非常简单直接,而且很管用。

关于c# - 如何使用 SpecFlow 测试选择的 html 控件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443635/

相关文章:

c# - 如何在 ASP.Net 中的单个页面中显示多个 HTML 内容?

c# - 带点的括号,正则表达式

unit-testing - 如何测试应用程序?

java - 在测试中断言 java.util.Date 字段

asp.net-web-api - 测试项目扫描我的 Controller 两次

c# - 如何刷新非计算字段的格式并刷新可填写 PDF 表单中的计算字段

c# - 无法创建 SSL/TLS 安全通道。客户端和服务器无法通信,因为它们不具备通用算法

matlab - 测试性能分类器matlab

c# - Selenium .NET core 2.2 发布的项目 exe 即使在 Windows x64 上也无法运行

c# - ASP.NET 中的跨进程模拟