Word-Berichtsvorlage

Über die Vorlage

Verwenden Sie die Word-Berichtsvorlage, um einen angepassten Bericht zu erstellen. Die Vorlage verwendet Word-Merge-Felder, um erforderliche Daten abzurufen. Die Vorlage ist für docx-Dateien entworfen und unterstützt doc nicht. Einige Tipps für die ersten Schritte:
  • Um Merge-Felder in ein Microsoft Word-Dokument einzufügen, klicken Sie auf Insert > Quick Parts > Field > MergeField, oder drücken Sie Strg+F9.
  • Um ein Merge-Feld zu bearbeiten, klicken Sie mit der rechten Maustaste und wählen Sie dann Feld bearbeiten.
  • Sie können abgesehen von Merge-Feldern auch Standardtext in Ihrem Bericht verwenden und mischen.
  • Merge-Felder nehmen folgende Form an: « value ».

Allgemeine Berichtsinformationen

Das folgende Beispiel enthält Daten, die Sie im Kopfbereich Ihres Berichts verwenden können:

Feld Beschreibung
${report.name} Der Name des Berichts.
${report.projectName} Der Name des Projekts, in dem der Bericht ausgeführt wird.
${report.description} Die Beschreibung des Berichts.
${report.executedBy} Der Anmeldename des Benutzers, der den Bericht ausgeführt hat.
${report.generatedOn} Das Datum und die Uhrzeit, wann der Bericht ausgeführt wurde.
${report.generatedOnWeek} Die Nummer der Woche, in der der Bericht ausgeführt wurde.

Zugreifen auf Daten

Die folgenden Abschnitte beschreiben, wie Sie auf die verschiedenen Daten für Ihren Bericht zugreifen und diese anzeigen.

Nach Index
«${rows[0].cols[3]}»
Nach Name
«${rows[0].ReqName}»
In Listen
Ein typischer Anwendungsfall wäre, durch alle Zeilen zu gehen und die Spalteninformationen für jede Zeile anzuzeigen. So erhalten Sie eine Datenliste:
«[#list rows as r]»
«${r.TestDefID}» - «${r.TestName}»
«[/#list]»

Der Anfang der Schleife wird definiert durch [#list rows as r] und das Ende durch [/#list]. Die Zeilendaten innerhalb der Schleifen werden mit r referenziert, wodurch Sie Test Name innerhalb der Schleife durch Referenzierung mit ${r.TestName} erhalten.

Das oben stehende Beispiel würde durch alle Zeilen gehen, und der ausgegebene Bericht würde eine Liste von Tests mit ID und Namen enthalten.

In Tabellen
Das Definieren von Anfang und Ende einer Schleife innerhalb einer Tabelle erfordert einen zusätzlichen Befehl zur Fortsetzung der Iteration innerhalb der Tabelle. Sie müssen zuerst den Befehl list für die Schleife in die erste Spalte Ihrer Tabelle eingeben und @before-row voranstellen. Sie müssen @after-row verwenden, um die Liste abzuschließen. Die folgende Tabelle zeigt, was Sie hierfür tun müssen.
«${headers[3]}»|«${headers[3].@name}» «${headers[4]}»|«${headers[4].@name}»
«@before-row[#list rows as r]»«${r.ReqName}»«@after-row[/#list]» «${r.ReqDescription.@html}»
Kopfzeilen und HTML
  • Auf Kopfzeilen von Daten können Sie über ein Merge-Feld namens headers zugreifen.
  • Kopfzeilen können auf verschiedene Weisen durch Anhängen von .@elementName oder .@name oder .@index angezeigt werden.
  • Einige Silk Central-Daten, wie z. B. viele Felder Beschreibung, werden als HTML gespeichert. Wenn Sie Ihre HTML-kodierten Texte basierend auf den Tags anzeigen möchten, hängen Sie das Attribut .@html an. Wenn Sie dieses Attribut nicht hinzufügen, sehen Sie dennoch den Text, aber er enthält das HTML-Markup. Beispiel: Wenn Ihre Quelldaten <b>Meine Berichtsbeschreibung</b> sind und Sie .@html verwenden, sehen Sie Meine Berichtsbeschreibung. Ansonsten sehen Sie: <b>Meine Berichtsbeschreibung</b>. Folgende HTML-Tags werden unterstützt: <b>, <strong>, <i>, <u>, <br>, <p>, and <a>.
Unterberichte
Auf Unterberichte können Sie mit dem Schlüsselwort sub zugreifen. Hängen Sie die Nummer des Unterberichts, auf den Sie zugreifen möchten, hinten an, z.B. sub1,sub2, etc.
Beispiel: Wenn ProjectID in der ersten Spalte Ihres Hauptberichts ist, greifen Sie darauf mit «${rows[0].ProjectID}» zu. Wenn TestID in der ersten Spalte des ersten Unterberichts ist, greifen Sie darauf mit «${sub1.rows[0].TestID}». So gehen Sie durch alle Zeilen des ersten Unterberichts und zeigen die Spalte TestID sowie die zweite Spalte an:
«[#list sub1.rows as sr]» 
  «${sr.TestID}» «${sr.cols[1]}»
«[/#list]» 

Fehlerdiagnose

Warum zeigt mein Bericht falsche Daten?
Referenzieren Sie Spalten anhand des Index? Wenn ja, bedenken Sie, dass die erste Spalte durch den Index 0 und nicht 1 referenziert wird.
Warum erhalte ich eine Fehlermeldung für ein bestimmtes Feld, wenn ich meinen Bericht herunterlade? Ich sehe dieses Feld nicht in meiner Vorlage.

Sie haben möglicherweise die Bezeichnung eines Feldes geändert, aber die Mail-Merge-Referenz weist noch immer den ursprünglichen Wert auf. Sie erhalten z. B. eine Fehlermeldung, dass das Feld ${r.requirementName} nicht existiert. In Ihrem Dokument sehen Sie das Feld ${r.reqName}. Wenn Sie mit der rechten Maustaste auf das Feld klicken und Feld bearbeiten auswählen, sehen Sie, dass die Referenz immer noch ${r.requirementName} lautet. Vergessen Sie nicht, die Mail-Merge-Felder über Feld bearbeiten zu ändern.

Beispielbericht

Der folgende Beispiel-Word-Bericht zeigt einen Bericht mit manuellen Tests, der Schritte enthält.

Anmerkung: Sie können dieses Beispiel nicht im aktuellen Zustand kopieren und einfügen. Es soll Ihnen verschiedene Arten der Verwendung von Berichtscodes für die verschiedenen Abschnitte in einem Bericht zeigen. Das unten angezeigte Beispiel ist in den Berichtsvorlagen als ManualTestResults.docx enthalten.
Report generated: «${report.generatedOn}» «${report.generatedOnWeek}»
«${report.name}»

Project Name          «${report.projectName}»
Report Description    «${report.description}»
Report Executed By    «${report.executedBy}»

«[#list rows as r]»«[#assign firstRow=(r_index==0 || rows[r_index-1].ManualTestDefID != r.ManualTestDefID)]»«[#if firstRow]»

«${r.TestDefinitionName}»
«${r.TestDefinitionDescription.@html}»

Status: «${r.StatusName}» 

Planned Time [hh:mm]: «[#if r.PlannedTime!="null"]»«${r.PlannedTime}»«[#else]»00:00«[/#if]»
Used Time [hh:mm]: «[#if r.UsedTime!="null"]»«${r.UsedTime}»«[#else]»00:00«[/#if]»
Build: «${r.BuildName}»
Version: «${r.VersionName}»
Execution Plan: «${r.ExecDefName}»
Changed By: «${r.ChangedBy.@text}»
Changed On: «${r.ChangedAt.@text}»

«[/#if]»«[#if r.StepName != "null"]»«[#if firstRow]» Test Step Details:«[/#if]»
Step Name: «${r.StepName}»
Description: «${r.StepDescr.@html}»
Status: «${r.StepStatus}»
Result Info: «${r.StepResultInfo.@html}» 
Expected Result: «${r.ExpectedResult.@html}» 
«[/#if]»«[/#list]»