Word レポート テンプレート

テンプレートについて

カスタマイズされたレポートを作成するには、Word レポート テンプレートを使用します。テンプレートでは、Word マージ フィールドを使用して必要なデータを取得します。テンプレートは docx ファイル用に設計されており、doc はサポートしません。ここで、作業を開始するにあたってのヒントをご紹介します。
  • Microsoft Word にマージ フィールドを挿入するには、挿入 > クイック パーツ > フィールド > MergeField をクリックするか、Ctrl+F9 を押します。
  • マージ フィールドを編集するには、フィールドを右クリックしてから フィールドの編集 を選択します。
  • レポートではマージ フィールドに加えて標準テキストをミックス アンド マッチできます。
  • マージ フィールドは、次の形式になります:« value »

レポートの一般情報

次にレポートの見出しで使用できるデータを示します。

フィールド 説明
${report.name} レポートの名前。
${report.projectName} レポートを実行するプロジェクトの名前。
${report.description} レポートの説明。
${report.executedBy} レポートを実行したユーザーのログイン名。
${report.generatedOn} レポートが実行された日時。
${report.generatedOnWeek} レポートが実行された週番号。

データへのアクセス

次のセクションでは、レポートのさまざまなデータにアクセスして表示する方法について説明します。

インデックス別
«${rows[0].cols[3]}»
名前別
«${rows[0].ReqName}»
リスト内
標準的な事例は各行で繰り返され、各行の列情報を表示します。データのリストを取得するには、次を実行します:
«[#list rows as r]»
«${r.TestDefID}» - «${r.TestName}»
«[/#list]»

ループの開始は [#list rows as r] で定義され、[/#list] によって終了されます。ループ内の行データは、r を使用して参照され、ループ内の Test Name ${r.TestName} で参照することによって取得できます。

上の例では、すべての行で繰り返しが行われ、レンダリングされたレポートは、ID と名前付きでテストのリストを表示します。

テーブル内
テーブルの行でループの開始と終了を定義するには、テーブル内での繰り返しを続行するための追加のコマンドが必要です。ループのための list コマンドをテーブルの最初の行に配置し、@before-row という接頭辞を付ける必要があります。リストを完成するには、@after-row を使用する必要があります。次の表にその方法を示します。
«${headers[3]}»|«${headers[3].@name}» «${headers[4]}»|«${headers[4].@index}»
«@before-row[#list rows as r]»«${r.ReqName}»«@after-row[/#list]» «${r.ReqDescription.@html}»
見出しと HTML
  • データの見出しには、headers という名前のマージ フィールドでアクセスできます。
  • .@elementName または .@name または .@index を追加することで、見出しをさまざまな方法で表示できます。
  • 一部の Silk Central データは、多くの 説明 フィールドと同様に、HTML として保存されます。HTML エンコードされたテキストをタグに基づいて表示したい場合は、属性 .@html を追加します。この属性を追加しない場合もテキストは表示されますが、HTML マークアップが含まれています。たとえば、ソース データが <b>レポートの説明</b> で、.@html を使用すると、レポートの説明 が表示されます。追加しない場合は、<b>レポートの説明</b> が表示されます。次の HTML タグがサポートされています:<b>, <strong>, <i>, <u>, <br>, <p>, and <a>
サブレポート
サブレポートには、sub キーワードを使用してアクセスできます。sub1sub2 のように、アクセスするサブレポートの番号を追加します。
例:ProjectID がメイン レポートの最初の行にある場合、«${rows[0].ProjectID}» のようにして参照します。TestID が最初のサブ レポートの最初の行にある場合、«${sub1.rows[0].TestID}» のようにして参照します。最初のサブ レポートのすべての行全体を繰り返して、TestID 列と 2 番目の列を表示するには:
«[#list sub1.rows as sr]» 
  «${sr.TestID}» «${sr.cols[1]}»
«[/#list]» 

トラブルシューティング

レポートに間違ったデータが表示される
列をインデックス別に参照していますか。もしそうであれば、最初の列がインデックス 1 ではなく、インデックス 0 に参照されていることを確認します。
マイ レポートをダウンロードするとき、特定のフィールドを示すエラーが表示されるのは何故ですか。テンプレートにこのフィールドが表示されません。

フィールドのラベルを変更したものの、電子メール マージ参照の値が元のままになっている可能性があります。たとえば、フィールド ${r.requirementName} は存在しません、といったエラーを受け取る可能性があります。ドキュメントにはフィールド ${r.reqName} があります。このフィールドを右クリックして フィールドの編集 を選択すると、参照が ${r.requirementName} のままになっていることがわかります。編集フィールド を使用して電子メール マージ フィールドを変更することを忘れないでください。

サンプル レポート

次のサンプル Word レポートでは、ステップを含む手動テストとともにレポートが表示されます。

注: このサンプルをこのままコピーして貼り付けることはできません。サンプルは、レポートのさまざまなセクションに対してレポート作成コードを使用する各種の方法を表示するように設計されています。以下に示すサンプルは、レポート テンプレートManualTestResults.docx という名前で含まれています。
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]»