Automatically merge launches on reportportal
Reportportal it’sa great tool and provides a lot of nice features for automation engineers , on this article I will cover how to automatically merge launches on reportportal.
What is reportportal ?
Report Portal is a service, it provides great capabilities for speeding up results analysis and reporting by means of built-in analytical features.
Report Portal is the great addition to the Continuous Integration and Continuous Testing process.
It seamlessly integrates with mainstream platforms such as Jenkins, Jira, BDD process, majority of Functional and Unit testing frameworks.
Real-time integration allows to manage and track execution status directly from Report Portal.
Test cases execution results are stored following the same structure you have it in your suites and test plan. The test cases are shown with all related data in one place, right where you need it: logs, screenshots, binary data. The execution pipeline of certain test case is also available for you, so one can see previous execution result in one click.
What technologies are used?
Considering high load rate and performance requirements, we use a cutting edge technologies:
- NoSQL MongoDB – super fast write to DB, clustering.
- REST Web Service – lightweight requests, industry standard.
- Mobile responsive UI – check it at any mobile device with default browser.
Reportportal key features:
- Manage all your automation results and reports in one place
- Make automation results analysis actionable & collaborative
- Establish fast traceability with defect management
- Accelerate routine results analysis
- Visualize metrics and analytics
- Make smarter decisions together
- Follow up your test automation on any device
One of the great technical features that reportportal provides it’s a REST API , that gives you a full hand of cards and you can play a good game here. I will tell you why is that. Imagine one scenario: You run all your tests in multithreading , and for each test session you have 50 threads, so for reportportal that means 50 launches , which is correct but that might affect some of the reports.
For example the last execution pie chart will show only for the last completed launch , that means will not cover all the other 49 launches in your reports.
Using reportportal powerful rest api I decided to automatically merge my launches at the end of the test session.
Create a report portal helper module
On the root directory create a report_portal.yml file
And here the question will come : Where do we place the default report_portal.yml file? Well inside the init.rb we dynamically tell reportportal witch file to use:
So the file is placed in : /init/folder/report_portal.yml. Why ? in my case the framework has 7 project embedded in it , so each project has it’s own reportportal yml file.
Create the rake task
Basically now you are good to go , running the following command will merge your today’s launches for a specific reportportal project.
Im using the merge command inside my pipeline script:
And here is the code for the sh script:
Having a reliable test reports tool is a very important step part of continuous integration that every company should target for . Such tools can give you a very good idea about the quality of your project , your framework reliability and any non technical person can read this kind of statistics.