The pro version for this utility have some more features like Automatic Email Reporting. please email for further details. Akshay Sharma
This is an easy utility create to generate extent report based on SOAPUI project execution. This utility supports SOAPUI PROJECT execution report, SOAPUI TESTSUITE execution report and you can also generate SOAPUI Individual TestCase execution report.
https://iamakshayshar.github.io/
Extent Report is a HTML based reporting library which is used for making excellent execution reports and simple to understand. This can be used with TestNG automation framework when using Selenium WebDriver for JAVA projects. In this utility I have utilized the listener capability of SOAPUI to generate Extent Report based on PROJECT execution and TESTSUITE execution. Extent Report provide good detailed execution report with graphical representation of Pass and Failed testcases.
As an Automation Test Engineer we are supposed to find the defects and report it to the team in a simple way which should be easy to understand. In Automation Testing, importance of reporting is so high. Extent Report provides the easy way to report the Pass and Failed testcases.
Klov – ExtentReports reporting library by ExtentReports. Extent Report team extended this library for historical reporting. Extent Report is a web application using MongoDB and Spring Framework. You can track your builds, their execution results aligned with it by using the web application and compare the builds with older builds.
Lets understand more on what is required to use this utility and how does it works
- Java should be installed (by default it comes with SOAPUI installation)
- You should have the admin access of SOAPUI installation folder.
- Klov should be setup correctly and should be up and running along with MongoDB.
SOAPUI doesn’t support reporting by default and thus with all the good features what SOAPUI provides there is always a limitation that we can't have good report of our execution. With SOAPUI-Extentter library, one can generate extent report with just placing one jar file. All the code/libraries required to generate extent report is handled in this repository.
This utility leverages the listener which is provided by SOAPUI along with the installation. SOAPUI provides three main listeners as below,
- ProjectRunListener
- TestSuiteRunListener
- TestRunListener
ProjectRunListener listens to execution at project level and provides methods as beforeRun, afterRun, beforeTestSuite and afterTestSuite. All we have to do is to understand when this methods are called when we are executing the overall project. Similarly TestSuiteRunListener listens to execution at TestSuite level and provides methods as afterRun, beforeRun, beforeTestCase and afterTestCase. Lastly TestRunListener listens to execution at TestCase level and provides methods as beforeRun, afterRun, beforeStep and afterStep. I have implemented these methods to generate extent report from Project, TestSuite and TestCase execution.
Download Jar & Listener-XML file from latest release from below location,
- Refer to the latest release in GIT, https://github.com/iamakshayshar/SoapUI-Extentter/releases
-
If you only want to generate ExtentReport & Klov Report, Follow steps below based on what you are looking for:
-
If one wants to use this as it is follow the steps below,
- Copy the jar file downloaded from above google drive and place it under "${SOAPUI_HOME}/bin/ext" folder.
- Copy the xml file from "Listener-XML" folder and place it under "${SOAPUI_HOME}/bin/listeners" folder.
- Execute the project or testsuite and you will have extent report generate in "Reports" folder where your project XML is saved.
-
If one wants to customize this utility then follow the steps below,
- Complete the change as what is required.
- Build the project
- Generate runnable jar of the project.
- Copy the generate jar file and place it under "${SOAPUI_HOME}/bin/ext" folder.
- Execute the project or testsuite to validate the change.
-
If one wants to generate Klov report along with ExtentReport, follow the steps below,
- Update the project properties with the Name and Values as Below,
- Copy the jar file downloaded from above google drive and place it under "${SOAPUI_HOME}/bin/ext" folder.
- Copy the xml file from "Listener-XML" folder and place it under "${SOAPUI_HOME}/bin/listeners" folder.
- Execute the project or testsuite and you will have extent report generate in "Reports" folder where your project XML is saved.
-
*Please update the values for three (MongoDBIP, MongoDBPort & KlovServerUrl) properties.
Although there is zero configuration required in SOAPUI project, but if you have added an Author for each TestSuite as Custom Property, [Author (Key) : AuthorName (Value)] it will be added in Extent Report itself. No other change is required.
- Add Author Name in TestSuite Custom Property. (It should be "Author" [Case Sensitive])
- Verify the Author information in Extent Report,
- Detailed Report in Extent Report
If you want the project properties should not be added to Extent Report Dashboard, then configure project properties and add a property with the name "AddDataToReport" and assign value to it as FALSE. The value for this property accepts only Boolean value and if the value is neither TRUE nor FALSE, then default it is considered as TRUE.
If the value if TRUE, then the project properties are added to Extent Report Dashboard.
If the value if FALSE, then the project properties are NOT added to Extent Report Dashboard.
As an addOn to this utility, I have also added code for data driven testing support inside SOAPUI. This git repo also have one sample project (calculator-soapui-project_Updated.xml) which have all the groovy code for data driven testing.
- This utlity is tested with SOAPUI version 5.6.0, 5.7.0 & 5.7.1
- With version 4.0, this utility is supported and tested with ReadyAPI version 3.9.0, 3.9.1 & 3.9.2
- This utlity is testing on JAVA version-11.
- This utlity is build on top of ExtentReport v5.1.1
- This utility supports Klov Docker release 1.0.1
SoapUI-Extentter is an Open Source Plugin and 4.0 and later will be released under Apache-2.0