実行結果
本ライブラリを用いてテストを実行すると、結果フォルダに以下のフォルダとファイルが生成されます。
テスト結果フォルダ
テスト結果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は以下の形式となります。
プロパティ | 説明 |
---|---|
target | DOM要素または領域を表すオブジェクト |
excludes | 比較対象としないDOM要素または領域のオブジェクトの配列 |
hiddenElementSelectors | スクリーンショット撮影時に非表示とした要素を指定するDOMセレクタの配列 |
targetとexcludes(の中の要素)は同じオブジェクトであり、それぞれ以下のプロパティを持ちます。
selector | 要素を特定するセレクタオブジェクト |
rectangle | スクリーンショット画像上の要素の矩形情報 |
screenArea | CompareTargetで条件に指定したScreenAreaオブジェクト。selectorとrectangleを持つ |
selector、rectangleに対応するオブジェクトはそれぞれ以下の通りです。
- selector
プロパティ | 説明 | |
---|---|---|
type | DOM要素の指定方法のselectorType | |
value | DOM要素を特定するセレクタの条件 | |
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:失敗) | |
screenshotResuls | assertViewおよびassertScreenshotを実行した結果の配列 |
screenshotResultsの配列内のオブジェクトは以下の通り
プロパティ | 説明 | |
---|---|---|
screenshotId | どのスクリーンショットかを示すID | |
result | スクリーンショットを比較した結果 | |
expectedId | 期待結果として使用するID | |
targetResults | targetに指定している要素のスクリーンショットおよび比較結果のオブジェクトの配列 | |
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"
}
}
]
}