在WebDriver中使用的强大的Try Catch方法?
有人可以从那里获得建议是否在搜索元素超时或使用了错误的定位器的可能情况下,以下方法是否正确?
在我将等待设置为2秒并使用错误的xpath更改定位器后,超时异常dosnt似乎正在打印我的System.out.println
我的代码:
public void clickSupercarsLink() throws Exception {
try {
this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click();
} catch (TimeoutException e) {
System.out.println("UNABLE TO FIND ELEMENT : Timeout");
} catch (Exception e) {
System.out.println("UNABLE TO FIND ELEMENT : Exception");
throw (e);
}
}
新代码:
public void clickSupercarsLink() throws Exception {
try {
this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click();
} catch (TimeoutException e) {
System.out.println("Timed out attempting to click on element: <" + link_Supercars.toString() + ">");
} catch (Exception e) {
System.out.println("Unable to click on element: " + "<" + link_Supercars.toString() + ">");
}
}
答案 0 :(得分:1)
@Phil我希望你抛出异常并在高级别处理它。在当前情况下,如果存在严重异常,则您的测试将调用方法clickSupercarsLink
的方法将不会知道存在异常。
任何你抛出异常的方式,为什么你必须抓住它并且不做任何事情然后只是打印!!这不是你抛出异常的原因吗?
public void clickSupercarsLink() throws Exception {
this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click();
}