如何使用Atata或其他方式断言列表中disabled选项的禁用状态
下拉列表disabled选项的禁用状态断言方案
针对你给出的<option value="Test" disabled="">Test</option>元素结构,可通过以下两类方案完成断言:
Atata 框架实现
Atata内置了封装好的控件状态断言API,可直接调用完成校验:
- 若你已经将下拉列表封装为Atata的
Select<TOwner>类型控件,直接调用对应Option的断言方法即可:YourSelectControl.Option("Test").Should.BeDisabled(); - 若你单独定位了该option元素,也可以直接校验属性存在性:
TestOption.Should.HaveAttribute("disabled", string.Empty);
原生自动化工具实现(以Selenium为例)
如果你没有使用Atata框架,用原生Selenium也可以完成校验,需要注意disabled是HTML布尔属性,只要属性存在就生效,和属性值无关:
// 定位目标option元素 IWebElement testOption = driver.FindElement(By.CssSelector("option[value='Test']")); // 断言方法1:直接调用Selenium内置的Enabled属性判断 Assert.IsFalse(testOption.Enabled); // 断言方法2:校验disabled属性是否存在,兼容性更强 string disabledAttr = testOption.GetAttribute("disabled"); Assert.IsNotNull(disabledAttr);
内容的提问来源于stack exchange,提问作者Hanna
相关产品推荐
相关产品推荐

