我在页面上有 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/