javascript - Cucumber生成空白html报告

标签 javascript java selenium-webdriver automation cucumber-jvm

cucumber 版本:1.2.5

特点:

@SSS

Feature: Login

  Scenario: Login And Logout

    * UI Login with user "moaada" and password "moaada12"
    * UI Logout

我正在使用 junit 运行功能文件:

@RunWith(Cucumber.class)
@CucumberOptions(
        format = {"pretty", "html:target/cucumber", "json:target/cucumber.json"},
        glue = {"com.webuiauto.bddtests"},
        features = {"src/test/resources/Features"},
        strict = true,
        tags = {"@SSS"})
public class RunViBddTests {
}

在浏览器中打开 index.html 文件后,我什么也看不到;只是一张空白页。我检查了浏览器,在控制台中收到以下错误:

formatter.js:112 Uncaught TypeError: Cannot read property 'append' of undefined
    at CucumberHTML.DOMFormatter.write (formatter.js:112)
    at HTMLDocument.<anonymous> (report.js:15)
    at k (jquery-1.8.2.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-1.8.2.min.js:2)
    at Function.ready (jquery-1.8.2.min.js:2)
    at HTMLDocument.D (jquery-1.8.2.min.js:2)

最佳答案

由brasmusson ( https://github.com/cucumber/cucumber-jvm/issues/1303 ) 回答

“在钩子(Hook)的 Scenario 参数上调用 write 将会在 report.js 文件中添加 formatter.write 调用。https://github.com/cucumber/cucumber-html 的 javascript 函数将在上一步下方显示 formatter.write 调用的内容。对于在执行第一个场景的钩子(Hook)之前,不存在任何前面的步骤,因为尚未执行(小 cucumber )步骤,因此从此时开始报告将为空白(对于后续场景的钩子(Hook)之前的 formatter.write 调用,内容将显示在上述场景的最后一步下方,这是不正确的,但报告至少不会为空)。

要解决此问题,https://github.com/cucumber/cucumber-html项目需要更新。然而,由于计划是替换该项目,请参阅 cucumber/cucumber-html#44,我不确定核心团队中的任何人都会承担这项工作。

如果使用了 html 格式化程序,解决方法是不对 before Hook 的 Scenario 参数调用 write。”

关于javascript - Cucumber生成空白html报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47817891/

相关文章:

php - 如何以编程方式为图像添加柔焦

java - 什么时候递归回溯合适?

java - 将 ExtentTest 的默认值设置为 FAILED

java - 我可以为多个 Web 操作仅调用一次 PageFactory 实例吗?

python - Selenium - 将文件上传到 iframe

javascript - 在 HTML canvas 上绘制的视频只能在 chrome 中播放,即使使用 webm

javascript - html5shiv JS 在其他脚本之前或之后加载有关系吗? (页面加载时间)

javascript - 是否可以使用Javascript在IE8中生成虚拟键盘事件(选项卡)

java - 双向导航。这是什么意思?

java - Selenium Java 不断刷新页面直到元素可见