java 如何验证点击链接后是否被禁用,直到重定向到下一页?

rxztt3cl  于 2023-06-04  发布在  Java
关注(0)|答案(2)|浏览(126)

我必须验证,如果只是在点击链接后,链接被禁用,直到重定向到自动化测试的下一页!!
如何在intellij中使用selenium web驱动程序?
点击链接后,我把“webaction.enabledElement”放在一个布尔方法中。这不能正常工作。该方法应该返回true,但有时返回false

hkmswyz6

hkmswyz61#

您可以按照以下步骤操作:

  • 使用Selenium WebDriver定位link元素。您可以使用各种方法(如findElement(By)findElements(By))根据link元素的属性(例如,ID、class或XPath)查找它。
  • 使用表示链接的WebElement的click()方法单击链接。
  • 等待链接被禁用。您可以使用显式或隐式等待来等待满足特定条件。在这种情况下,您可以通过检查链接的“disabled”属性或任何其他指示其禁用状态的指示符,等待链接变为禁用状态。
// Find and click on the link
WebElement link = driver.findElement(By.linkText("Your Link Text"));
link.click();

// Wait for the link to become disabled
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.attributeToBe(link, "disabled", "true"));

// Perform validation or assertions here
boolean isLinkDisabled = link.getAttribute("disabled").equals("true");
System.out.println("Is link disabled? " + isLinkDisabled);
moiiocjp

moiiocjp2#

HTML disabled Attribute

boolean disabled 属性,当存在时,使元素不可变,不可聚焦,甚至不能与表单一起提交。用户不能编辑或关注控件及其窗体控件的子控件。
例如:

<form>
    <label for="empDate">Employment Date:</label>
    <input name="empDate" type="date" disabled>
</form>

本用例

因此,要验证是否单击链接,该链接将被禁用,直到重定向到下一页,您可以使用以下策略:

// find and click on the link
driver.findElement(By.xpath("//input[@name='link']")).click();
// validate if the link is disabled
try
{
    driver.findElement(By.xpath("//input[@name='link' and @disabled]"));
    System.out.println("Link was disabled");
}
catch(NoSuchElementException ex)
{
    System.out.println("Link wasn't disabled");
}

相关问题