【问题标题】:Catch statement not executing in exception handling of XPath在 XPath 的异常处理中未执行 Catch 语句
【发布时间】:2019-03-27 17:03:35
【问题描述】:

我有一个用 Java 编写的 UI 测试用例,它识别 userName 文本字段并在其中输入一些值。我正在尝试实现一个 try-catch 块,以便如果 try 块失败,它会执行 catch 块。但是我的代码根本没有执行 catch 块。

我尝试在 catch 块中使用 console.log 或 assert.fail 来查看它是否打印了消息。但是执行不会去 catch 块,一旦 try 块失败,浏览器就会关闭。

try {
//retrieves Xpath of userName which is incorrect.
            return browser.setValue(this.getSelector("login_userId_txtbox"), datatablevalue.userName);
        } catch (er) {
            //assert.fail("UserId xpath is incorrect", er);
            return console.log("------>error in XPATH", er);
        }

实际结果:catch 块永远不会被执行。

预期结果:如果 xpath 不匹配,它应该在 catch 块中打印 console.log 消息。

【问题讨论】:

  • 问题中的“Java”,标签中的“Javascript”——它是什么?
  • .setValue 是框架中的方法吗?您正在将定位器和值传递给该方法。并确定您在该方法中正在做什么。
  • Yes .setValue 设置从定位器传递的值。我想知道 - 如果传递的值不正确,它应该去捕获块并打印控制台消息。它是基于 JS 的框架。

标签: java xpath try-catch


【解决方案1】:

当 XPath 表达式没有选择任何内容时,它会返回一个空节点集。这不是错误,因此不会引发异常。这是您需要测试的常规结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多