gpt4 book ai didi

java - 使用 WebDriverWait Boolean 的 NullPointerException

转载 作者:行者123 更新时间:2023-12-03 01:10:34 25 4
gpt4 key购买 nike

我有两个类,一个运行单击按钮等的方法。在页面上,有一个按钮被禁用,我有一个 WebDriverWait 来等待它通过检查属性“disabled”再次启用"已从 html 元素中删除。但是,当我运行测试时,我得到一个 nullPointerException。我想我知道它来自哪里,但在尝试解决它时遇到问题。

这是运行以执行操作的方法:

public void methodThatRuns(WebDriver driver) throws InterruptedException {
properties.inputTxt(driver, "100");
sundries.waitEnabledButton(driver, properties.nextButton(driver));
properties.nextButton(driver).click();
}

这是另一个类的 waitEnabledButton 方法,它调用等待:

public void waitEnabledButton(WebDriver driver, final WebElement btn) throws NullPointerException {
WebDriverWait wait = new WebDriverWait(driver, 10);
System.out.println("Starting the wait");
try {
wait.until(new ExpectedCondition<Boolean>(){
public Boolean apply(WebDriver driver) {
final String attribute = btn.getAttribute("disabled");
if (attribute.equals(null)) {
return true;
}
else {
return false;
}
}
});
} catch (StaleElementReferenceException e) {
System.out.println("The disabled attribute was destroyed successfully and the script can continue."); //using this as the attribute gets destroyed when the button is enabled which throws a staleElement exception
}
System.out.println("Wait is over");
}

对此的任何帮助将不胜感激!

最佳答案

 if (attribute.equals(null)) {
return true;
}`

如果 attribute 为 null,则 .equals 调用将导致 NPE。尝试使用属性== null。

关于java - 使用 WebDriverWait Boolean 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38263603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com