0

TestComplele7のログをプログラムで解析したい。具体的には、各テストの名前とステータス(success \ failure \ warning)を取得したいと思います。

マニュアルによると、次のコマンドを使用してテスト実行ログを取得します。

Log["SaveResultsAs"] ("PathToMyFolder", 1);

これにより、スクリプトで解析できるXMLを含む、一連のファイルとフォルダーが作成されます。このようなXMLの例を次に示します。

<ProjectLog>
  <ProjectLogItem id="0" pid="-1" nety="False">
    <Status>805039D.gif</Status>
    <No>1</No>
    <Name><![CDATA[Script Test Log [cTaStoring\cTaStoring_Start]]]></Name>
    <StartTime>13.04.2012 12:26:15</StartTime>
    <EndTime>13.04.2012 12:27:47</EndTime>
    <RunTime>0:01:32</RunTime>
    <Details></Details>
    <Messages/>
   </ProjectLogItem>
   <ProjectLogItem id="1" pid="-1" nety="False">
    <Status>905039C.gif</Status>
    <No>2</No>
    <Name><![CDATA[AutomaticStoring]]></Name>
    <StartTime>13.04.2012 12:27:47</StartTime>
    <EndTime>13.04.2012 12:30:42</EndTime>
    <RunTime>0:02:55</RunTime>
    <Details></Details>
    <Messages/>
   </ProjectLogItem>
</ProjectLog>

ご覧のとおり、必要なものはほぼすべて取得できますが、最も価値のあるデータであるテストのステータスは、対応するアイコンを示す画像のファイル名として書き込まれます。たとえば、805039D.gifにはチェックマークが含まれ、905039C.gifには感嘆符が含まれています。

これらの名前をスクリプトにハードコーディングするのは簡単ですが、問題はそれらが絶えず変更されることです。

質問

  1. ステータスを出力するために、列挙の代わりに画像名を使用することにしたのはなぜですか?
  2. いったいなぜアイコンは名前を変えるのですか?
  3. テストのステータスを取得するにはどうすればよいですか?
4

2 に答える 2

1

エクスポートされたログのHTML形式は、解析されることを意図したものではありません。エクスポートされたログを解析する場合は、XML形式を使用する必要があります。

Log["SaveResultsAs"] ("PathToMyResultsXMLFile", lsXML);

生成されたログファイルのサンプルスニペットは次のとおりです。

<Node name="message 0">
  <Prp name="date" type="D" value="41012.4210564815"/>
  <Prp name="priority" type="I" value="300"/>
  <Prp name="owner id" type="I" value="-1"/>
  <Prp name="color" type="I" value="-252645136"/>
  <Prp name="id" type="I" value="0"/>
  <Prp name="bkcolor" type="I" value="-252645136"/>
  <Prp name="message" type="S" value="This is a usual message"/>
  <Prp name="picture" type="S" value=""/>
  <Prp name="link" type="S" value=""/>
  <Prp name="unit id" type="I" value="0"/>
  <Prp name="remarks" type="S" value=""/>
  <Prp name="type" type="I" value="0"/>
  <Prp name="line no" type="I" value="2"/>
  <Prp name="child index" type="I" value="-1"/>
</Node>

メッセージの順序は「id 」フィールドで指定され、メッセージのタイプは「 type 」フィールドで降格されます。

0 - Message
1 - Event
2 - Warning
3 - Error
于 2012-04-13T17:21:16.773 に答える
1

私は同じ問題に最も悩まされました。だから私はそれを解決するためにC#でこれを書いた:

画像が参照するファイルの長さを取得します。

            if (b.Length == 610) status = "Pass";
            if (b.Length == 1016) status = "Fail";
            if (b.Length == 353) status = "Inconclusive";

したがって、参照するファイルの長さが 610 の場合は、パスなど...

于 2012-05-23T19:46:02.047 に答える