Fitness:不同的异常 Fitnesseoutput 与 Console

Fitness: Different Exceptions Fitnesseoutput vs. Console

我写了一个简单的健身测试,效果很好。今天我发现 fitnesse 生成的输出页面 (NoSuchElementException) 显示的错误与控制台显示的输出 (java.lang.Exception) 存在差异。知道是什么原因造成的吗?我怎样才能确保控制台也显示正确的错误?

情况是这样的

在我的内容文件中有这样一行:

 |check|field exists|testknop|true|

我的 fixture 中对应的方法如下所示:

public boolean fieldExists(String fieldName) {
    // Als het element niet gevonden kan worden treed eer een exception op dus assert is niet
    // nodig
    driver.findElement(By.id(fieldName));
    // sluit driver weer af
    driver.quit();
    return false;
}

现在生成的健身报告行被标记为黄色,包含带有 selenium NoSuchElementException 的堆栈跟踪。

当我从 maven 运行 得到一个通用的 java.lang.Exception

谢谢

我设法找到了适合我的解决方案。

问题是 driver.findElement(By.id(fieldName)); 有时会导致异常。

当我按照下面发布的方式更改测试和代码时,它适用于我。

|check|field exists|testknop|inloggen gelukt|


public String fieldExists(String fieldName) {
    // Als het element niet gevonden kan worden treed eer een exception op dus assert is niet
    // nodig
    try {
        driver.findElement(By.id(fieldName));
    } catch (NoSuchElementException e) {
        return "Inloggen mislukt";
    }
    // sluit driver weer af
    driver.quit();
    return "inloggen gelukt";
}

当你 运行 使用 junit 运行ner(我希望你从 maven 做的)时,你不会从控制台上的测试中获得详细信息。就像你在这里遇到的一样。

我所做的是检查生成的 html 报告以查看实际发生的情况,并且仅依靠控制台检测至少一项测试未通过(因此我知道我应该进行调查)。