由于黄瓜步骤语法,无法在gradle中生成测试报告

时间:2014-08-07 04:26:25

标签: selenium-webdriver gradle cucumber geb

当我尝试在命令行中运行测试时,出现以下错误消息。

测试基于Geb,Selenium和Cucumber / Groovy。

Caused by: org.gradle.api.GradleException: Could not generate test report to 'D:\Folder\ABCD\Auto\build\reports\tests'.
        at org.gradle.api.internal.tasks.testing.junit.report.DefaultTestReport.generateFiles(DefaultTestReport.java:84)
        at org.gradle.api.internal.tasks.testing.junit.report.DefaultTestReport.generateReport(DefaultTestReport.java:48)
        at org.gradle.api.tasks.testing.Test.executeTests(Test.java:482)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:530)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:513)

添加了更多错误详情:

Caused by: java.io.FileNotFoundException: D:\Folder\ABCD\Auto\build\reports\tests\packages\When I enter valid registration details "d2bcons" and "fi rstdtwob" and "lastdtwob" and "d2bcons@trashcanmail.html (The filename, directory name, or volume label syntax is incorrect) 

什么可能导致错误?

由于

2 个答案:

答案 0 :(得分:7)

经过一些调查后发现,这是因为dot (".")在Gherkin文件中用于其中一个测试步骤。

根本原因是当尝试生成带有步骤名称作为文件名的测试报告时,它会生成此错误,因为除了扩展点之外,htlm文件中的点无效。

希望这是明确和有用的。

答案 1 :(得分:4)

可以为Cucumber提供一个参数,以便它不会在文件名中使用无效字符。在Cucumber runner类中,您可以将以下参数添加到CucumberOptions属性:

  

- 文件名兼容-名称

例如:

@CucumberOptions(junit = {"--filename-compatible-names"})