Table of Contents
| Name | Description | Typ |
|---|---|---|
| date | The time of report execution. | java.util.Date
|
| locale | The localization selected by the user. | java.util.Locale
|
| activeProject | The currently selected project or null
if no project is selected.
|
de.verit.klaros.model.KlarosConfiguration
|
| activeIteration | The currently selected iteration or null
if no iteration is selected.
|
de.verit.klaros.model.KlarosIteration
|
| user | The current user who creates the report. | de.verit.klaros.model.KlarosUser
|
| parameters | A map of parameter names to parameter objects containing the user defined parameters entered when running the report. | java.util.Map java.lang.String,
de.verit.klaros.scripting.model.Parameter
|
Table E.1. Context Variables
The context variables can be accessed via SeamPDF by e.g.:
<p:text value="#{date}" />
![]() |
Note |
|---|---|
|
#{user.name} und #{user.username} contain different values. The first provides the user's real name, while the latter provides the name the user is logged in with. |
package de.verit.klaros.scripting;
/**
* Public interface for generating user defined reports.
*/
public interface KlarosScript {
/**
* This method starts the report generation.
*
* @param context
* The event context to provide all needed functions, properties
* and objects.
* @throws KlarosScriptingException if executing the script fails
*/
void execute(KlarosContext context) throws KlarosScriptingException;
}
<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://jboss.org/schema/seam/pdf"
title="Klaros-Testmanagement Test Suite Report" marginMirroring="true"
author="#{user.name}" creator="#{user.name}" pageSize="A4">
<f:facet name="header">
<p:font size="8">
<p:header borderWidthBottom="0.1" borderColorBottom="black" borderWidthTop="0" alignment="center">
<p:text value="Example report - generated #{date} by #{user.name}"/>
</p:header>
<p:footer borderWidthTop="0.1" borderColorTop="black" borderWidthBottom="0" alignment="center">
<p:text value="Page " />
<p:pageNumber />
</p:footer>
</p:font>
</f:facet>
<!-- print the frontpage -->
<p:paragraph alignment="center" spacingAfter="100">
<p:text value="" />
</p:paragraph>
<p:font style="bold" size="32">
<p:paragraph alignment="center" spacingAfter="75">
<p:text value="Test Case Report" />
</p:paragraph>
</p:font>
<p:font style="normal" size="12">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="Created by" />
</p:paragraph>
</p:font>
<p:font style="bold" size="16">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="#{user.name} (#{user.email})"/>
</p:paragraph>
</p:font>
<p:font style="normal" size="12">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="at" />
</p:paragraph>
</p:font>
<p:font style="bold" size="16">
<p:paragraph alignment="center" spacingAfter="75">
<p:text value="#{date}" />
</p:paragraph>
</p:font>
<p:newPage/>
<ui:fragment rendered="#{results != null}">
<p:font style="normal" size="12">
<p:paragraph alignment="left" spacingAfter="10">
<p:text value="The test results for " />
</p:paragraph>
</p:font>
</ui:fragment>
<!-- Test result table -->
<p:table columns="4" widths="1 1 3 3">
<!-- create the headline with bold characters -->
<p:font size="10" style="bold">
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Name" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Result" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Test run description" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Summary" />
</p:paragraph>
</p:cell>
</p:font>
<!-- display the attributes of the test results -->
<p:font size="8">
<ui:repeat value="#{results}" var="tcr">
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.testCase.name}" />
</p:paragraph>
</p:cell>
<!-- decide which color has to be displayed, based on the test result -->
<ui:fragment rendered="#{tcr.error}">
<p:cell backgroundColor="rgb(255,0,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="error" />
</p:paragraph>
</p:cell>
</ui:fragment>
<ui:fragment rendered="#{tcr.failure}">
<p:cell backgroundColor="rgb(255,215,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="failure" />
</p:paragraph>
</p:cell>
</ui:fragment>
<ui:fragment rendered="#{tcr.passed}">
<p:cell backgroundColor="rgb(0,255,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="passed" />
</p:paragraph>
</p:cell>
</ui:fragment>
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.description}" />
</p:paragraph>
</p:cell>
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.summary}" />
</p:paragraph>
</p:cell>
<!-- Print the test case description below the result row.
To differ from the next row use a bigger border for the bottom. -->
<p:cell colspan="4" verticalAlignment="top" horizontalAlignment="left"
borderWidthBottom="1" paddingBottom="3">
<p:paragraph>
<p:font size="6" style="bold">
<p:text value="Testcase description:" />
</p:font>
<p:font size="6">
<p:text value="#{tcr.testCase.description}" />
</p:font>
</p:paragraph>
</p:cell>
</ui:repeat>
</p:font>
</p:table>
</p:document>