Ü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 , 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]»