開発者ブログ

実行結果

Last modified by kashi on 2015/06/25, 14:45

本ライブラリを用いてテストを実行すると、結果フォルダに以下のフォルダとファイルが生成されます。

テスト結果フォルダ

テスト結果IDを名前とするフォルダが生成されます。
ver.1.0ではテスト結果IDは実行を開始したときのタイムスタンプ(書式:yyyy_MM_dd_HH_mm_ss)になります。
テスト結果フォルダには、さらに以下のフォルダが生成されます。

テストクラスフォルダ

実行したテストクラス名と同じ名前のフォルダが生成されます。
テストクラスを同時に複数実行した場合は、その分フォルダが生成されます。

各テストフォルダには次のファイルが保存されます。

スクリーンショット

取得したスクリーンショットのファイルです。ページ全体の画像およびtargetで指定した要素の画像分スクリーンショットファイルが生成されます。
1テストクラスで複数ブラウザや複数スクリーンショットを取得した場合も、すべてこのフォルダに格納されます。

スクリーンショットファイルの命名規則は以下の通りです。

  • 全体画像:メソッド名_スクリーンショットID_platformName_platformVersion_browserName_version
  • 個別画像:メソッド名_スクリーンショットID_platformName_platformVersion_browserName_version_selectorType_selectorValue_[index]
    ※ 矩形領域を対象とした場合のファイル名はメソッド名_スクリーンショットID_platformName_platformVersion_browserName_version_rectangle_x_y_width_heightとなります。
    FilePersisterConfig.jsonのプロパティを設定することでファイル名を変更することが出来ます。

座標情報(JSON)

targetに指定している座標情報を出力します。出力されるJSONは以下の形式となります。

プロパティ説明
targetDOM要素または領域を表すオブジェクト
excludes比較対象としないDOM要素または領域のオブジェクトの配列
hiddenElementSelectorsスクリーンショット撮影時に非表示とした要素を指定するDOMセレクタの配列

targetとexcludes(の中の要素)は同じオブジェクトであり、それぞれ以下のプロパティを持ちます。

selector要素を特定するセレクタオブジェクト
rectangleスクリーンショット画像上の要素の矩形情報
screenAreaCompareTargetで条件に指定したScreenAreaオブジェクト。selectorとrectangleを持つ

selector、rectangleに対応するオブジェクトはそれぞれ以下の通りです。

  • selector
プロパティ説明
typeDOM要素の指定方法のselectorType
valueDOM要素を特定するセレクタの条件
indexセレクタにマッチするDOM要素が複数ある場合、その集合の中でのインデックス
  • rectangle
プロパティ説明
x画像の左上を起点とした、要素の左上の水平方向の座標
y画像の左上を起点とした、要素の左上の垂直方向の座標
width指定した要素の幅
height指定した要素の高さ
[
  {
   "target": {
     "selector": {
       "type": "ID",
       "value": "mainVisual",
       "index": 0
      },
     "rectangle": {
       "x": 0,
       "y": 0,
       "width": 1280,
       "height": 960
      },
     "screenArea": {
       "selector": {
         "type": "ID",
         "value": "mainVisual"
        }
      }
    },
   "excludes": [
      {
       "rectangle": {
         "x": 300,
         "y": 300,
         "width": 300,
         "height": 200
        },
       "screenArea": {
         "rectangle": {
           "x": 300,
           "y": 300,
           "width": 300,
           "height": 200
          }
        }
      }
    ],
   "hiddenElementSelectors": [
      {
       "type": "ID",
       "value": "subVisual"
      }
    ]
  }
]

結果ファイル(JSON)

テストクラス内の結果をまとめたJSONファイルです。出力形式は以下の通りです。

プロパティ説明
resultId今回の結果を表すID(v1.0では実行時間)
resultテストクラスとしての実行結果(SUCCESS:成功、FAILURE:失敗)
screenshotResulsassertViewおよびassertScreenshotを実行した結果の配列

screenshotResultsの配列内のオブジェクトは以下の通り

プロパティ説明
screenshotIdどのスクリーンショットかを示すID
resultスクリーンショットを比較した結果
expectedId期待結果として使用するID
targetResultstargetに指定している要素のスクリーンショットおよび比較結果のオブジェクトの配列
testClass実行したテストクラス名
testMethod実行したテストメソッド
capabilitiesテストを行うブラウザを特定するための設定

targetResultの配列内のオブジェクトは以下の通り

プロパティ説明
resultスクリーンショットを比較した結果
targetスクリーンショットを取得する要素を表すオブジェクト
excludes比較対象から除外する要素を表すオブジェクトの配列
moveTargetスクリーンショット取得時にtargetの要素を画面の左上に移動するか
hiddenElementSelectorsスクリーンショットを取得時に非表示にするDOM要素のセレクタの配列

targetとexcludesは座標情報(JSON)と同じである

{
 "resultId": "2015_05_21_11_22_14",
 "result": "SUCCESS",
 "screenshotResults": [
    {
     "screenshotId": "sampleCapture",
     "result": "SUCCESS",
     "expectedId": "2015_05_22_11_22_14",
     "targetResults": [
        {
         "result": "SUCCESS",
         "target": {
           "selector": {
             "type": "ID",
             "value": "mainVisual",
             "index": 0
            },
           "rectangle": {
             "x": 0,
             "y": 0,
             "width": 1280,
             "height": 960
            },
           "screenAreaCondition": {
             "selector": {
               "type": "ID",
               "value": "mainVisual"
              }
            }
          },
         "excludes": [
            {
             "rectangle": {
               "x": 300,
               "y": 300,
               "width": 300,
               "height": 200
              },
             "screenAreaCondition": {
               "rectangle": {
                 "x": 300,
                 "y": 300,
                 "width": 300,
                 "height": 200
                }
              }
            }
          ],
         "movesTarget": false
        }
      ],
     "testClass": "HifiveCaptureTest",
     "testMethod": "testTutorialTop",
     "capabilities": {
       "platform": "WINDOWS",
       "version": "7",
       "browserName": "internet explorer"
      }
    }
  ]
}

Copyright (C) 2012-2017 NS Solutions Corporation, All Rights Reserved.