gpt4 book ai didi

java - Selenium - NoSuchElementException 错误检查

转载 作者:行者123 更新时间:2023-11-30 03:34:17 25 4
gpt4 key购买 nike

在每个测试用例结束时,我都会通过调用以下代码来检查是否存在错误。我遇到的问题是,即使不存在错误,代码也会抛出 NoSuchElementException 并使测试用例失败。如果存在错误,则测试用例将通过。

如何修改我的代码,以便如果不存在错误,测试将通过,如果存在错误,测试用例将失败。

public static void chk_ErrorIsNotEnabled()
{
try
{
element = driver.findElement(By.id("ctl00_Content_ulErrorList"));
if(element.getText().equals(""))
{
Log.info("Warning error is not dispayed." ); // The test should pass if element is not found
}
else
{
Log.error("Warning error is dispayed when it shouldnt be.");
} //The test should fail if element is found
}
catch (NoSuchElementException e){}
}

最佳答案

问题是该元素不存在,selenium 抛出 NoSuchElement 异常,最终捕获 catch block ,而您的代码需要一个元素此 ID ctl00_Content_ulErrorList。您无法获取不存在的元素上的文本。

一个好的测试应该像下面这样:请注意此处的 findElements()。它应该找到带有错误列表的元素的大小。如果大于 0,您就知道出错了,测试应该失败

if(driver.findElements(By.id("ctl00_Content_ulErrorList")).size() > 0){
Log.error("Warning error is dispayed when it shouldnt be.");
}else{
//pass
Log.info("Warning error is not dispayed." ); // The test should pass if element is not found
}

关于java - Selenium - NoSuchElementException 错误检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28347227/

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