TestingDocs.com
    Software Testing website
    • Automation
      • Selenium
      • JBehave Framework
    • Tutorials
      • MySQL Tutorials
      • Testlink
      • Maven
      • Git
    • IDEs
      • IntelliJ IDEA
      • Eclipse
    • Flowcharts
      • Flowgorithm
      • Raptor
    • About

    Apache Maven/ Jenkins

    Maven Surefire Plugin Jenkins

    Jenkins

    Introduction

    When Maven runs tests in a project, it automatically generates XML based test reports in a directory called surefire-reports in the target under the project directory. To install the Maven surefire plugin we can the plugin information to the Maven pom.xml file.

    Sample file with Surefire

    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.testingdocs</groupId>
    <artifactId>TestNGTutorials</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
    <maven.compiler.source>14</maven.compiler.source>
    <maven.compiler.target>14</maven.compiler.target>
    </properties>
    <dependencies>
    <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.0.0-alpha-7</version>
    </dependency>
    <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>4.0.0-alpha-7</version>
    </dependency>
    <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-edge-driver</artifactId>
    <version>4.0.0-alpha-7</version>
    </dependency>
    <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.8</version>
    </dependency>
    </dependencies>
    <build>
    <pluginManagement>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M5</version>
    <configuration>
    <suiteXmlFiles>
    <suiteXmlFile>testng.xml</suiteXmlFile>
    </suiteXmlFiles>
    </configuration>
    </plugin>
    </plugins>
    </pluginManagement>
    </build>
    </project>

    The plugin creates test reports when we run the Maven test goal. By default, the reports are created under the target folder in the surefire-reports directory.

     

    Maven Surefire

     

    Sample Triangle Tests

    package com.triangle.demo;
    
    public class Triangle {
     
     public static final int NOTATRIANGLE = -1;
     public static final int SCALENE = 0;
     public static final int ISOSELES = 1;
     public static final int EQUILATERAL = 2;
     
     public static int check(int a, int b, int c) {
    
     boolean isTriangle;
    
     if((a < b + c) && (b < a + c) && (c < a + b))
     isTriangle = true;
     else
     isTriangle = false;
    
     int triangleType = NOTATRIANGLE;
     if(isTriangle) {
     if((a == b) && (b == c))
     triangleType = EQUILATERAL;
     else if((a != b) && (a != c) && (b != c))
     triangleType = SCALENE;
     else
     triangleType = ISOSELES;
     } else
     triangleType = NOTATRIANGLE;
     
     return triangleType;
     }
    
    }

    Triangle Class Tests

    package com.triangle.demo;
    
    import static org.junit.Assert.*;
    import org.junit.Test;
    
    public class TriangleTest {
     @Test
     public void testEquilateralTriangle() {
     assertEquals(Triangle.EQUILATERAL,
     Triangle.check(7, 7, 7));
     }
     
     @Test
     public void testIsoselesTriangle() {
     assertEquals(Triangle.ISOSELES,
     Triangle.check(4, 4, 6));
     }
     
     @Test
     public void testScaleneTriangle() {
     assertEquals(Triangle.SCALENE,
     Triangle.check(6, 7, 9));
     }
    }

    Let’s add some sample tests to a Maven project and run them using Jenkins build.

    Console Output

    Build the project and click on the Console output. You can see that Jenkins reports your tests.

    [INFO]
    [INFO] — maven-surefire-plugin:2.22.1:test (default-test) @ triangle-demo —

    [INFO]
    [INFO] ——————————————————-
    [INFO] T E S T S
    [INFO] ——————————————————-

    [INFO] Running com.triangle.demo.AppTest
    [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.289 s – in com.triangle.demo.AppTest
    [INFO] Running com.triangle.demo.TriangleTest
    [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s – in com.triangle.demo.TriangleTest

    [INFO]
    [INFO] Results:
    [INFO]
    [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
    [INFO]
    [JENKINS] Recording test results

    ————————-

     

    To view the test result, click on the build and Test Report link in the sidebar as shown below.

     

    You can click on the package link and drill down the test results of individual tests.

     

    Sample report format

    Sample surefire report index.html in the surefire-reports folder

     

    Surefire Report Maven

     

    More Maven Tutorials on this website can be found at:
    https://www.testingdocs.com/apache-maven-tutorial/

    For more details on the Apache Maven, visit the official website at:
    https://maven.apache.org/

    Related Posts

    Maven Download Verification Win11

    Apache Maven /

    Download Maven on Windows 11

    Jenkins Cloud Options

    Jenkins /

    Jenkins Cloud Deployment Offering

    Invalid Target Java Error

    Apache Maven /

    Fix Fatal Error compiling: Invalid target release in Maven Project

    Blue Ocean Jenkins Plugin

    Jenkins /

    Blue Ocean Jenkins Plugin

    Maven Project from archetype

    Apache Maven /

    Create Maven Project from Archetype in NetBeans

    ‹ Build a Maven project using Jenkins› Jenkins Continuous Integration

    Recent Posts

    • Running Tests in Parallel with Selenium Grid
    • Advanced Selenium Features
    • Locating Web Elements
    • Running the Test Script
    • Writing Your First Selenium Test Script
    • Getting Started with Selenium Automation Testing
    • Setting Up the Environment
    • How can you monitor the Quality Assurance Audit?
    • Leveraging LambdaTest with Appium 2.0
    • Appium 2.0 Plugins ListAppium 2.0 Plugins
    • Touch Actions and Multi-Touch Actions
    • Changes in Drivers and Classes
    • Appium Inspector
    • Capabilities in Appium 2.0
    • Appium 2.0 Driver ListAppium 2.0 Driver Installation & Management
    CyberLink Multimedia Software

    Back to Top

    Links

    • Contact
    • Privacy Policy
    • Cookie Policy

    www.TestingDocs.com