如何断言文本框已启用或已禁用
How to assert the text box is enabled or disabled
我想断言特定文本框是禁用还是启用。下面是它的 HTML
。禁用和启用文本框之间的区别仅在于末尾的 disabled
属性。
disabled text box HTML:
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="" disabled="">
enagled text box HTML-
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="">
我试过element.isEnabled()
和element.isEnabled()
方法都没有用。
非常感谢任何帮助!
已启用()
根据 documentation isEnabled()
方法定义为:
boolean isEnabled()
Description:
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.
Returns:
True if the element is enabled, false otherwise.
因此,您的代码试验 element.isEnabled()
非常适合检索元素是否 enabled 或未提供的状态element 唯一标识了您在问题中提供的 node。
备选
作为替代方案,您可以尝试使用以下解决方案验证是否存在没有 属性 禁用 的元素:
try {
driver.findElement(By.xpath("//input[@class='textfield form-control servicefield invItem_dynamic_validation valid' and not(disabled)][@controlid='txtIPAddress']"));
System.out.println("Element is enabled");
} catch (NoSuchElementException e) {
System.out.println("Element is not enabled");
}
要断言文本框可编辑,我们可以使用isEnabled()
函数。
请参阅下面的示例,
boolean anytextfield = driver.findElement(By.xpath("respectivexpath")).isEnabled();
Assert.assertEquals(anytextfield,true);
我想断言特定文本框是禁用还是启用。下面是它的 HTML
。禁用和启用文本框之间的区别仅在于末尾的 disabled
属性。
disabled text box HTML:
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="" disabled="">
enagled text box HTML-
<input controlid="txtIPAddress" class="textfield form-control servicefield invItem_dynamic_validation valid" id="OrderProperties_4__Value" isdisabled="true" name="OrderProperties[4].Value" style="display:" type="text" value="">
我试过element.isEnabled()
和element.isEnabled()
方法都没有用。
非常感谢任何帮助!
已启用()
根据 documentation isEnabled()
方法定义为:
boolean isEnabled()
Description:
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.
Returns:
True if the element is enabled, false otherwise.
因此,您的代码试验 element.isEnabled()
非常适合检索元素是否 enabled 或未提供的状态element 唯一标识了您在问题中提供的 node。
备选
作为替代方案,您可以尝试使用以下解决方案验证是否存在没有 属性 禁用 的元素:
try {
driver.findElement(By.xpath("//input[@class='textfield form-control servicefield invItem_dynamic_validation valid' and not(disabled)][@controlid='txtIPAddress']"));
System.out.println("Element is enabled");
} catch (NoSuchElementException e) {
System.out.println("Element is not enabled");
}
要断言文本框可编辑,我们可以使用isEnabled()
函数。
请参阅下面的示例,
boolean anytextfield = driver.findElement(By.xpath("respectivexpath")).isEnabled();
Assert.assertEquals(anytextfield,true);