+ <#if headline != ""> +

${headline}

+ <#if preheadline != ""> -
+ + <#if preheadlineLink != ""> ${preheadline} <#else> ${preheadline} - <#if subsubheadline != "">${subsubheadline} -
- - <#if headline != ""> -

${headline}

+ +
<#if subheadline != ""> -
${subheadline}
+

${subheadline}

<#nested> @@ -71,7 +72,7 @@ limitations under the License. <#macro card width title subtitle classes>
-
+
<#if title != "">
${title}
diff --git a/engine/src/main/resources/template/macros/scenario.ftl b/engine/src/main/resources/template/macros/scenario.ftl index d973a3f7..63bc348b 100644 --- a/engine/src/main/resources/template/macros/scenario.ftl +++ b/engine/src/main/resources/template/macros/scenario.ftl @@ -36,7 +36,7 @@ limitations under the License.
-
+
<#switch status> <#case "skipped"> @@ -209,21 +209,30 @@ limitations under the License. -<#macro output step> +<#macro output step sectionId> <#if step.hasOutputs()> -
-
${step.output?join("

")}
+
+
+ | + Step Output +
+
+
+
${step.output?join("
")}
+
+
-<#macro stepHooks hooks> +<#macro stepHooks stepIndex hooks> <#list hooks as hook> <#if hook.hasContent()> -
+
-
-
+
${hook.glueMethodName}
@@ -233,7 +242,7 @@ limitations under the License. <@common.status status=hook.consolidatedStatusString/>
<@scenario.errorMessage step=hook/> - <@scenario.output step=hook/> + <@scenario.output step=hook sectionId='hook'/> <@scenario.attachments step=hook/>
diff --git a/engine/src/main/resources/template/scenario-detail.ftl b/engine/src/main/resources/template/scenario-detail.ftl index b4e88dea..8fcc1570 100644 --- a/engine/src/main/resources/template/scenario-detail.ftl +++ b/engine/src/main/resources/template/scenario-detail.ftl @@ -38,58 +38,95 @@ preheadlineLink="pages/feature-scenarios/feature_${element.featureIndex?c}.html" <@page.card width="6" title="Step Results" subtitle="" classes=""> <@page.graph /> + + <@page.card width="3" title="Summary" subtitle="" classes=""> +
    +
  • + ${element.totalNumberOfSteps} ${common.pluralizeFn("Step", element.totalNumberOfSteps)} +
  • +
  • + ${element.totalNumberOfPassedSteps} passed <@common.status status="passed"/> +
    + ${element.totalNumberOfFailedSteps} failed <@common.status status="failed"/> +
    + ${element.totalNumberOfSkippedSteps} skipped <@common.status status="skipped"/> +
  • +
+ <#if (element.tags?size > 0)> +
+ <#list element.tags as tag> + ${tag.name} + + + + <@page.card width="3" title="Scenario Info" subtitle="" classes=""> <#if element.startTimestamp?has_content> -
  • Started on:
    ${element.startDateString} ${element.startTimeString}
  • +
  • Start: ${element.startDateString} ${element.startTimeString}
  • <#if element.startTimestamp?has_content> -
  • Ended on:
    ${element.endDateString} ${element.endTimeString}
  • +
  • End: ${element.endDateString} ${element.endTimeString}
  • -
  • Test Runtime:
    ${element.returnTotalDurationString()}
  • -
  • <#list element.tags as tag> - ${tag.name}<#sep> - -
  • +
  • Total: ${element.returnTotalDurationString()}
  • <#if groupPreviousScenarioRuns && element.getIsLastOfMultipleScenarioRuns()> +
    <#if groupPreviousScenarioRuns && element.getIsNotLastOfMultipleScenarioRuns()> +
    - - <@page.card width="3" title="Step Summary" subtitle="" classes=""> -
      -
    • - ${element.totalNumberOfSteps} ${common.pluralizeFn("Step", element.totalNumberOfSteps)} -
    • -
    • - ${element.totalNumberOfPassedSteps} passed <@common.status status="passed"/> -
      - ${element.totalNumberOfFailedSteps} failed <@common.status status="failed"/> -
      - ${element.totalNumberOfSkippedSteps} skipped <@common.status status="skipped"/> -
    • -
    + + <#if (element.hasHooks() && element.hasHooksWithContent()) || element.hasSubSections() || (element.hasStepHooks() && element.hasStepHooksWithContent()) || element.hasDocStrings()> +
    + + + <#if element.hasSubSections()> +