Skip to content

Create Elasticsearch Reporters for indexing test results #20948

@LeeDr

Description

@LeeDr

Describe the feature:
We have an ongoing issue with Flaky tests. While these are mostly UI tests I think it would benefit us to have the capability to load all automated test results into an Elasticsearch instance so we can drink our own champagne and use Kibana to quickly see the biggest issues

Describe a specific use case for the feature:
Generally speaking, there are configurable reporters for more test frameworks that can log to the console and/or create junit test output and/or html reports, etc. and have a mechanism for plugging in another reporter.

We can use this issue to define requirements and then individual PRs to implement the reporters.

Frameworks:

  • Functional Test Runner (jUnit results are uploaded now)
  • Elastic Stack Test Framework (ESTF)
  • integration-test framework
  • new Webdriver.IO framework

It would be great if we could collect a consistent set of fields in the reporter for each framework, but they may not have all the same data available. Maybe we just come up with the super-set of what we'd like and each framework can try to capture as much of that as possible.

Mapping:

name type comment
timestamp date date/time of the execution of the test
version String (or keyword?) ex: 6.4.0 or 6.4.0-SNAPSHOT or 6.3.2-0b85b411
branch keyword ex: 6.x
testname String made up of each level of describe plus test name like kibana - settings app - creating and deleting default index - index pattern creation - should have index pattern in page header?
suitename String each level of describe but not the test name?
result keyword Pass/Fail/Skip
error text blank if Pass or Skip, stack trace if Fail
screenshot url blank if Pass or Skip, link to screenshot in S3 bucket if Fail
hostname keyword could be Jenkins worker
runId number we need some kind of job number to group a test run like Jenkins job #,
jenkinsUrl url might as well store a link to the Jenkins job if we can
os keyword currently Jenkins runs CentOS and Ubuntu but eventually will add Windows
browser keyword Chrome, Firefox, IE
duration number only passing tests log the duration of the test. We can use this to detect changes in performance over time

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions