WSH 実行結果を知りたい場合には、WSH スクリプトで WSH テストの現在の作業ディレクトリに output.xml というファイルを生成する必要があります。 このディレクトリに含まれるすべてのファイルはデータベースに格納されるので、テスト実行のファイル一覧からダウンロードできます。 プロジェクト 領域の [結果で無視するファイル拡張子] プロパティに拡張子が定義されている場合、ファイルは格納対象外になります。
スクリプトが WSH 標準出力に書き出した情報はすべて、現在の作業ディレクトリにある log.txt というテキスト ファイルに入れられます。 このファイルはデータベースに格納され、テスト実行のファイル一覧に含められるので、そこから表示することができます。
以下の例は、スクリプトからのログ情報を出力する方法を示しています。
WScript.Echo "This info will be written to the log.txt file"
output.xml の XML 構造は ResultElement という名前の要素から始まります。この要素には TestItem という名前の属性が定義されており、そこで ResultElement の名前を指定します。
ResultElement には、ErrorCount という要素(必須)、WarningCount という要素(省略可能)、および Incident 要素のリストが含まれています。
ErrorCount 要素および WarningCount 要素には、ゼロまたは正の数が含まれている必要があります。 最上位の ResultElement の ErrorCount と WarningCount を元に成功条件を評価し、その結果によってテストの合否が判定されます。 XML ファイルには Silk Central GUI に表示されない要素が含まれている可能性があります。 ただし、出力された output.xml ファイルはデータベースに格納されており、実行されたテストのファイル一覧に含まれているため、見ることが可能です。
Incident 要素は WSH テストの実行時に発生したイベントを表します。 Message と Severity は Silk Central GUI のテスト実行のメッセージ一覧に表示されます。 Incident 要素には Message と Severity の要素が 1 つずつ含まれます。
Severity 要素は以下の値のいずれかを持ちます。
結果ファイルには追加情報を格納できます。 ResultElement には、任意の数のサブ ResultElement を含めることができるので、情報を簡単にグループ化できます。 サブ ResultElement を作成すると、結果ファイルが読みやすくなります。 ユニット テスト(JUnit、NUnit)に関して互換性を保つため、ResultElement には TestSuite または Test という名前を付けることができます。
ResultElement には、以下の追加要素を含めることができます。
Incident 要素には Detail 要素のリストが含まれることがあります。
Detail 要素は Incident に関する詳細情報を表します。 この要素では、TestName と Info の要素を定義する必要があります。 TestName は、どこで Incident が発生したかの詳細情報を示すのに使用します。 Info 要素は Incident についての詳細情報を持ちます(スタック トレースなど)。
<ResultElement TestItem="WshOutputTest">
  <ErrorCount>1</ErrorCount> 
  <WarningCount>1</WarningCount>
  <Incident>
    <Message>some unexpected result</Message>
    <Severity>Error</Severity>
    <Detail>
      <TestName>function main()</TestName>
      <Info>some additional info; eg. stacktrace</Info>
    </Detail>
  </Incident>
  <Incident>
    <Message>some warning message</Message>
    <Severity>Warning</Severity>
    <Detail>
      <TestName>function main()</TestName>
      <Info>some additional info; eg. stacktrace</Info>
    </Detail>
  </Incident>
</ResultElement> 以下のスクリプトは、結果ファイルのサンプルを生成するために使用したものです。 このスクリプトを動かしてみるには、.js という拡張子を付けて保存してください。
function dumpOutput(dumpFile)
{
  dumpFile.WriteLine("<ResultElement TestItem=\"WshOutputTest\">");
  dumpFile.WriteLine("  <ErrorCount>1</ErrorCount>");
  dumpFile.WriteLine("  <WarningCount>1</WarningCount>");
	dumpFile.WriteLine("  <Incident>");
	dumpFile.WriteLine("    <Message>some unexpected result</Message>");
	dumpFile.WriteLine("    <Severity>Error</Severity>");
	dumpFile.WriteLine("    <Detail>");
	dumpFile.WriteLine("      <TestName>function main()</TestName>");
	dumpFile.WriteLine("      <Info>some additional info; eg. stacktrace</Info>");
	dumpFile.WriteLine("    </Detail>");
	dumpFile.WriteLine("  </Incident>");
	dumpFile.WriteLine("  <Incident>");
	dumpFile.WriteLine("    <Message>some warning message</Message>");
	dumpFile.WriteLine("    <Severity>Warning</Severity>");
	dumpFile.WriteLine("    <Detail>");
	dumpFile.WriteLine("      <TestName>function main()</TestName>");
	dumpFile.WriteLine("      <Info>some additional info; eg. stacktrace</Info>");
	dumpFile.WriteLine("    </Detail>");
	dumpFile.WriteLine("  </Incident>");
  dumpFile.WriteLine("</ResultElement>");
}
function main()
{
  var outFile;
  var fso;
  fso = WScript.CreateObject("Scripting.FileSystemObject");
  outFile = fso.CreateTextFile("output.xml", true, true); 
  outFile.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-16\"?>");
  
  dumpOutput(outFile);
  outFile.Close();
  WScript.Echo("Test is completed");	
}
main();
WScript.Quit(0); 以下の Visual Basic スクリプトもサンプル結果ファイルを生成し、Output.xml として保存します。 このスクリプトを動かしてみるには、.vbs という拡張子を付けて保存してください。
WScript.Echo "starting"
Dim outFile
Dim errCnt
Dim warningCnt
outFile = "output.xml"
errCnt = 1 ' retrieve that from your test results
warningCnt = 1 ' retrieve that from your test results
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oTX = FSO.OpenTextFile(outFile, 2, True, -1) ' args: file, 8=append/2=overwrite, create, ASCII
oTX.WriteLine("<?xml version=""1.0"" encoding=""UTF-16""?>") 
oTX.WriteLine("<ResultElement TestItem=""PerlTest"">")
oTX.WriteLine("  <ErrorCount>" & errCnt & "</ErrorCount>")
oTX.WriteLine("  <WarningCount>" & warningCnt & "</WarningCount>")
oTX.WriteLine("  <Incident>")
oTX.WriteLine("    <Message>some unexpected result</Message>")
oTX.WriteLine("    <Severity>Error</Severity>")
oTX.WriteLine("    <Detail>")
oTX.WriteLine("      <TestName>function main()</TestName>")
oTX.WriteLine("      <Info>some additional info; eg. stacktrace</Info>")
oTX.WriteLine("    </Detail>")
oTX.WriteLine("  </Incident>")
oTX.WriteLine("  <Incident>")
oTX.WriteLine("    <Message>some warning message</Message>")
oTX.WriteLine("    <Severity>Warning</Severity>")
oTX.WriteLine("    <Detail>")
oTX.WriteLine("      <TestName>function main()</TestName>")
oTX.WriteLine("      <Info>some additional info; eg. stacktrace</Info>")
oTX.WriteLine("    </Detail>")
oTX.WriteLine("  </Incident>")
oTX.WriteLine("</ResultElement>")