I'm using Kibana to report on my test pass results. And I created a doc type that represents the testng-results.xml I get after a test pass finishes. My doctype description looks like this:
"results": {
"passed": {
"type": "integer"
},
"failed": {
"type": "integer",
},
"skipped": {
"type": "integer"
},
"start_time": {
"type": "date"
},
"duration_ms": {
"type": "long"
},
"test_classes": {
"name": {
"type": "string"
},
"test_methods": {
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"signature": {
"type": "string"
},
"duration_ms": {
"type": "long"
},
"started_at": {
"type": "date"
}
}
}
}
(note: there's a bit of metadata at the top of this doctype that's a bit too identifying for the internet, so I left that part out)
The problem is that I'd like to get a list of all the tests that were run on a particular test pass. However, instead of giving me a list of those, the test name ends up as part of the index instead.
So, when looking at the index, you see a lot of things like this:
results.test_classes.com.blah.foo.doo.duu.TestClassName1.keyword
results.test_classes.com.blah.foo.doo.duu.TestClassName2.keyword
results.test_classes.com.blah.foo.doo.duu.TestClassName3.keyword
where the "com.blah.foo.doo.duu" is the package name of my test code.
I was expecting to be able to create a data table with all of the tests that were executed in that test pass, but I can't figure out a query to make this happen. Then I sat down to learn painless, because I thought I could just create a scripted field that iterated through all the test classes and added them all to the field. But for some reason, I'm having a really difficult time even doing that. Can someone guide me towards a viable solution for this?