【问题标题】:A Robust Try Catch Method to use in WebDriver?在 WebDriver 中使用的强大的 Try Catch 方法?
【发布时间】:2017-02-09 18:15:33
【问题描述】:

在 WebDriver 中使用的强大的 Try Catch 方法?

  1. 有人可以从那里获得建议,在搜索元素超时或使用了不正确的定位器的可能情况下,以下方法看起来是否正确?

  2. 在我将等待设置为 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() + ">");
    }
}

【问题讨论】:

  • 你不打算在TimeoutException的情况下重新抛出吗?
  • @Andy Turner 你有什么建议?如果我重新抛出异常怎么办(如果听起来很愚蠢,对不起)
  • 不知道,我不知道你想做什么。我只是指出,在TimeoutException 的情况下,该方法将正常返回,即使链接没有被点击。
  • "如果我重新抛出异常会做什么" 如果你不知道它在做什么,为什么要在catch Exception 分支中做呢?
  • @Phil_P85 所以,你想区分 Tm​​eoutException 和其他异常,这没关系。但问题是什么?你期望代码做什么,它做了什么?您写道: timeout Exception dosnt 似乎正在打印... 那么,它打印了什么?也许,抛出了另一个异常。如果没有堆栈跟踪或至少有错误消息,我们永远不会知道。

标签: java selenium selenium-webdriver webdriver


【解决方案1】:

@Phil 我希望您抛出该异常并在高级别处理它。在当前场景下,如果出现严重异常,您的测试方法调用您的方法clickSupercarsLink 将不知道发生了异常。

无论您以何种方式抛出异常,为什么您必须捕获它并且什么都不做,然后只是打印!这不是你抛出异常的原因吗?

public void clickSupercarsLink() throws Exception {
this.wait.until(ExpectedConditions.elementToBeClickable(link_Supercars)).click();
}

【讨论】:

  • 好的@Mayur Shah,根据您的经验,您会对上述内容进行哪些更改,抱歉发现异常处理有点棘手,再次感谢
  • 这是你能做的最好的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
相关资源
最近更新 更多