健身:不同的例外Fitnesseoutput与控制台

时间:2017-06-13 11:14:58

标签: java testing fitnesse

我写了一个简单的Fitnesse tes,效果很好。今天我发现fitnesse生成的输出页面(NoSuchElementException)和控制台显示的输出(java.lang.Exception)显示的错误有所不同。知道导致这种情况的原因以及如何确保控制台也显示正确的错误?

情况是这样的。

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

 |check|field exists|testknop|true|

我的灯具中的相应方法如下:

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;
}

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

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

由于

2 个答案:

答案 0 :(得分:0)

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

问题是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";
}

答案 1 :(得分:0)

当你使用junit runner运行时(我希望你从maven那里做)你没有从控制台上的测试中获得详细信息。就像你在这里遇到的

我所做的是检查生成的html报告,看看究竟发生了什么,只依靠控制台检测至少一个测试没有通过(所以我知道我应该调查)。