Output from Squish is looking like this ( I used "****_****" to hide irrelevant ) :
{
"version": { "major": 1, "minor": 0 },
"tests": [
{
"name": "suite_****_****",
"start": "2015-08-12T16:43:28+02:00",
"type": "testsuite",
"uri": "****_****",
"tests": [
{
"name": "tst_****_****",
"start": "2015-08-12T16:51:04+02:00",
"type": "testcase",
"uri": "x-testsuite:/tst_****_****",
"tests": [
{
"lineNo": 1,
"name": "****_****",
"start": "2015-08-12T16:51:06+02:00",
"type": "feature",
"uri": "x-testcase:/test.feature",
"tests": [
{
"lineNo": 5,
"name": "****_****",
"start": "2015-08-12T16:51:06+02:00",
"type": "scenario",
"uri": "x-testcase:/test.feature",
"tests": [
{
"lineNo": 6,
"name": "Given ****_****",
"start": "2015-08-12T16:51:06+02:00",
"type": "step",
"uri": "x-testcase:/test.feature",
"tests": [
{ "detail": "[Error 3] The system cannot find the path specified: '****_****'", "lineNo": 19, "result": "WARNING", "text": "****_****", "time": "2015-08-12T16:51:09+02:00", "type": "msg", "uri": "x-testsuite:/****_****" },
{ "detail": "[Error 3] The system cannot find the path specified: '****_****'", "lineNo": 19, "result": "WARNING", "text": "****_****", "time": "2015-08-12T16:51:09+02:00", "type": "msg", "uri": "x-testsuite:/****_****" },
{ "detail": "LookupError: Object '****_****' not found. Could not match properties:\n text for object name: '****_****'", "lineNo": ****_****, "result": "ERROR", "text": "Script Error", "time": "2015-08-12T16:51:31+02:00", "type": "msg", "uri": "x-testsuite:/****_****" }
],
"stop": "2015-08-12T16:51:31+02:00"
},
{ "isSkipped": true, "lineNo": 7, "name": "Then ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 8, "name": "When ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 9, "name": "Then ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 10, "name": "Then ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 11, "name": "Then ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 12, "name": "And ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" },
{ "isSkipped": true, "lineNo": 13, "name": "Then ****_****", "start": "2015-08-12T16:51:31+02:00", "stop": "2015-08-12T16:51:31+02:00", "type": "step", "uri": "x-testcase:/test.feature" }
],
"stop": "2015-08-12T16:51:31+02:00"
}
],
"stop": "2015-08-12T16:51:31+02:00"
}
],
"stop": "2015-08-12T16:51:31+02:00"
}
],
"stop": "2015-08-12T16:51:31+02:00"
}
]
}