Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/osandadeshan/maxsoft-extent-reporter-demo
This is the demo project to automatically generate the Extent report using MaxSoft Extent Reporter.
https://github.com/osandadeshan/maxsoft-extent-reporter-demo
automation extentreports java maxsoft reporting test-automation testng testng-framework
Last synced: about 19 hours ago
JSON representation
This is the demo project to automatically generate the Extent report using MaxSoft Extent Reporter.
- Host: GitHub
- URL: https://github.com/osandadeshan/maxsoft-extent-reporter-demo
- Owner: osandadeshan
- Created: 2020-11-21T09:51:16.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2020-11-28T05:10:22.000Z (almost 4 years ago)
- Last Synced: 2023-02-27T12:16:59.506Z (over 1 year ago)
- Topics: automation, extentreports, java, maxsoft, reporting, test-automation, testng, testng-framework
- Language: Java
- Homepage: https://medium.com/extent-reporter
- Size: 79.1 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MaxSoft Extent Reporter
## Introduction
The main reason for developing this plugin is to provide an easy way to generate the Extent report for test automation.
![](https://github.com/osandadeshan/maxsoft-extent-reporter-demo/blob/master/extent-report-sample.PNG)## Advantages
- Automatically generates the Extent report after the test execution.
- Reporter details can be configured through a property file.
- No need to implement classes for Extent reporting.
- Easy to use.## Technologies/Frameworks Used
- Java
- Extent Report
- Selenium
- Apache Maven## Supported Platforms
- Windows
- Linux
- Mac OS## Supported Languages
- Java## How to use
**Pre-Requisites:**
1. Java
2. Maven**Steps:**
1. Add "**MaxSoft Extent Reporter**" dependency into "**pom.xml**".
```xml
jitpack.io
https://jitpack.io
com.github.osandadeshan
maxsoft-extent-reporter
1.1.0
```2. Create "**extent.properties**" in "***src/test/resources/extent.properties***".
```xml
# Extent Report Configs
extent_reporter_theme=dark
capture_screenshot_on_failure=true
extent_document_title=Test Execution Report
extent_reporter_name=Test Execution Report
application_name=AutomationPractice.com
environment=Production
browser=Chrome
operating_system=Windows 10 - 64 Bit
test_developer=Osanda Nimalarathna
```3. In the test automation code, find the place you are launching the WebDriver.
4. Pass your WebDriver object to the "**setDriver()**" method which can be imported from "***com.maxsoft.extentreport.DriverHolder.setDriver***".
```java
WebDriver driver = new ChromeDriver();
setDriver(driver);
```5. Update the places where your are using WebDriver object, into "**getDriver()**" method which can be imported from "***com.maxsoft.extentreport.DriverHolder.getDriver***".
```java
getDriver().manage().window().maximize();
```6. An example test class.
```java
package test;import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;import static com.maxsoft.extentreport.DriverHolder.getDriver;
import static com.maxsoft.extentreport.DriverHolder.setDriver;
import static com.maxsoft.extentreport.PropertyFileReader.getProperty;
import static org.testng.Assert.assertEquals;/**
* Project Name : maxsoft-extent-reporter-demo
* Developer : Osanda Deshan
* Version : 1.0.0
* Date : 11/21/2020
* Time : 1:08 PM
* Description : This is a test class to test the login functionality
**/public class LoginTest {
private WebElement emailTextBox;
private WebElement passwordTextBox;
private WebElement signInButton;@BeforeMethod
public void before() {
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
setDriver(driver);
getDriver().manage().window().maximize();
getDriver().get(getProperty("application_url"));
emailTextBox = getDriver().findElement(By.id("email"));
passwordTextBox = getDriver().findElement(By.id("passwd"));
signInButton = getDriver().findElement(By.id("SubmitLogin"));
}@Test(description = "Verify that a valid user can login to the application")
public void testValidLogin() {
emailTextBox.sendKeys("[email protected]");
passwordTextBox.sendKeys("1qaz2wsx@");
signInButton.click();
assertEquals(getDriver().findElement(By.xpath("//div[@class='header_user_info']//span")).getText(), "Osanda Nimalarathna");
}@Test(description = "Verify that an invalid user cannot login to the application")
public void testInvalidLogin() {
emailTextBox.sendKeys("[email protected]");
passwordTextBox.sendKeys("1qaz2wsx@");
signInButton.click();
assertEquals(getDriver().getTitle(), "Login - My Store");
}@AfterMethod
public void after() {
getDriver().quit();
}
}```
7. Create the "**TestNG.xml**" by adding the "**MaxSoft Extent Reporter listener**" class.
```xml
```
8. Run the "**TestNG.xml**".
## License
[MaxSoft Extent Reporter](https://medium.com/maxsoft-extent-reporter) is released under [MIT License](https://opensource.org/licenses/MIT)## Copyright
Copyright 2020 MaxSoft.