0

I have written selenium coding using Java, used maven project & TestNG Framework, Now I want to run my module using Azure DevOps Pipeline but getting error. I have created pipeline using maven project, I m using TestNG Framework & surefire report plugin to generate TestNG reports. when I m running pipeline I m getting this error shown below, I tried many ways to solve solve this errors but no success.

Error below:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-cli) on project frameworkvalidator: There are test failures.
[ERROR] 
[ERROR] Please refer to D:\a\1\s\FMV2\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] There was an error in the forked process
[ERROR] 
[ERROR] An error occurred while instantiating class validation.TestResourceGroup: excel_util/Xls_Reader has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process




[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
[ERROR]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:301)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:211)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:165)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:157)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:121)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
[ERROR]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:127)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:294)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
[ERROR]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
[ERROR]     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:960)
[ERROR]     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
[ERROR]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.lang.reflect.Method.invoke(Method.java:498)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
The process 'C:\ProgramData\chocolatey\lib\maven\apache-maven-3.8.5\bin\mvn.cmd' failed with exit code 1
Could not retrieve code analysis results - Maven run failed.

can anybody help me. 
enter code here`
setup.java

package testpackage;


import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.*;

import excel_util.Xls_Reader;
import frameworkvalidator.Xlsx_Reader;
import io.github.bonigarcia.wdm.WebDriverManager;

public class Setup {
      
    
    public WebDriver driver=null;
    static Xls_Reader reader =new Xls_Reader(FrameworkValidator_Constants.Config.Excels_file_path);
    String sheetname="RG";
    
                   
            @BeforeClass
            public void startSelenium() throws Exception {
                
                 WebDriverManager.chromedriver().setup();
                 driver = new ChromeDriver();
                                 
                 driver.manage().window().maximize();
                 driver.get(FrameworkValidator_Constants.Config.baseUrl);
                 Thread.sleep(3000);
                 
                
                 driver.findElement(By.id("i0116")).sendKeys(FrameworkValidator_Constants.Config.username);
                 Thread.sleep(2000, 1000);
                 driver.findElement(By.id("idSIButton9")).click();
                 Thread.sleep(2000, 1000);
                
                 driver.findElement(By.id("i0118")).sendKeys(FrameworkValidator_Constants.Config.password);
                 Thread.sleep(2000, 1000);
                 driver.findElement(By.id("idSIButton9")).click();
                 Thread.sleep(2000, 1000);
                
                 driver.findElement(By.id("idSIButton9")).click();
                 Thread.sleep(5000, 1000);
                 
             
              
              
              driver.findElement(By.linkText("Resource groups")).click();
              Thread.sleep(3000, 1000);
              String test_result = reader.getCellData(sheetname,5, 2);
              Thread.sleep(4000, 2000);
                
            driver.findElement(By.xpath(FrameworkValidator_Constants.Constants.RESOURCE_GROUP_SEARCH)).sendKeys(test_result);    
                Thread.sleep(4000, 2000);
                driver.findElement(By.xpath("/html/body/div[1]/div[4]/main/div[3]/div[2]/section/div[1]/div[1]/div[4]/div[2]/div/div/div[2]/div/div[2]/div[2]/div[1]/div[3]/div/div/div[2]/div/div[2]/div[1]/div/div/div[1]/div[2]/div/a")).click();
                Thread.sleep(4000, 2000);             
                        
            }

            @AfterClass
            public void stopSelenium() {
                driver.close();
            }
            
           
    

}
}

Test_ResourceGroup

package validation;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.Test;

import excel_util.Xls_Reader;
import testpackage.Setup;

public class TestResourceGroup extends Setup {
    
     Xls_Reader reader =new Xls_Reader(FrameworkValidator_Constants.Config.Excels_file_path);
      String sheetname="RG";
      String status;
      
      @Test
      public  void TestResourceGroupName() throws Exception{
           
            
          String resourceGroupNameElement = driver.findElement(By.xpath(FrameworkValidator_Constants.Constants.RESOURCE_GROUP_NAME_XPATH)).getText().strip(); 
        
          String testId = reader.getCellData(sheetname, "TEST ID", 2);      
          String   expectedResult = reader.getCellData(sheetname,"EXPECTED RESULT",2).strip();
        
                 if(resourceGroupNameElement.equalsIgnoreCase(expectedResult))
                {
                   String  status= "pass";
                   reader.setCellData(sheetname, "STATUS/PASS/FAIL", 2, status);
                
                 }
                 else {
                     String status="fail";
                     reader.setCellData(sheetname, "STATUS/PASS/FAIL", 2, status);
                    
                 }
                
                
                 reader.setCellData(sheetname,"ACTUAL  RESULT" , 2, resourceGroupNameElement);
                 Assert.assertEquals(resourceGroupNameElement, expectedResult);
                 
                // Highlighting element & Taking screenshot
                 String javascript = "document.getElementsByClassName('fxs-blade-title-titleText')[1].style.background='yellow'";  
                 JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;  
                 jsExecutor.executeScript(javascript);     
                 Thread.sleep(2000);
                 frameworkvalidator.Screenshot.takeSnapShot(driver,FrameworkValidator_Constants.Config.Screenshot_folder_path +testId + ".png" );
                 reader.setCellData(sheetname, "Evidence", 2, testId + ".png");
                
                   
                    //JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;  
                    //jsExecutor.executeScript("arguments[0].style.background='yellow'", resourceGroupNameElement); 
                    //jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red')",resourceGroupNameElement ); 
        
    }
     
    @Test
    public  void TestResourceGroupLocation() throws Exception{
        
        String resourceGroupLocationElement = driver.findElement(By.xpath(FrameworkValidator_Constants.Constants.RESOURCE_GROUP_LOCATION_XPATH)).getText(); 
        
        String   expectedResult = reader.getCellData(sheetname,"EXPECTED RESULT",3);
         
        String testId = reader.getCellData(sheetname, "TEST ID" , 3);
         
         if( resourceGroupLocationElement.equalsIgnoreCase(expectedResult)) {
        String  status= "passed";
        reader.setCellData(sheetname, "STATUS/PASS/FAIL", 3, status);
        
         }
         else {
            String status="failed";
            reader.setCellData(sheetname, "STATUS/PASS/FAIL", 3, status);
            
         }
         reader.setCellData(sheetname,"ACTUAL  RESULT" , 3, resourceGroupLocationElement);
         reader.setCellData(sheetname, "Evidence", 3, testId + ".png");
         Assert.assertEquals(resourceGroupLocationElement, expectedResult);
            
          //Highlighting element & Taking screenshot            
         String javascript = "document.getElementsByClassName('fxc-essentials-value')[3].style.background='yellow'";  
         JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;  
         jsExecutor.executeScript(javascript);  
        
         frameworkvalidator.Screenshot.takeSnapShot(driver,FrameworkValidator_Constants.Config.Screenshot_folder_path +testId + ".png" );
        
    }
    /*
    @Test
    public  void ResourceGroupTag() throws Exception{
        
        String resourceGroupTagElement = driver.findElement(By.xpath(FrameworkValidator_Constants.Constants.RESOURCE_GROUP_TAGS_XPATH)).getText();      
        String   expectedResult = reader.getCellData(sheetname,"EXPECTED RESULT",4);
        String testId = reader.getCellData(sheetname, "TEST ID" , 4);
         
         if( resourceGroupTagElement.equalsIgnoreCase(expectedResult)) {
             String  status= "passed";
             reader.setCellData(sheetname, "STATUS/PASS/FAIL", 4, status);
         }
         else {
            String status="failed";
            reader.setCellData(sheetname, "STATUS/PASS/FAIL", 4, status);
         }
         
            reader.setCellData(sheetname,"ACTUAL  RESULT" , 4, resourceGroupTagElement);
            reader.setCellData(sheetname, "Evidence", 4, testId + ".png");
         
         
         
     //Highlighting element & Taking screenshot 
     frameworkvalidator.Screenshot.takeSnapShot(driver,FrameworkValidator_Constants.Config.Screenshot_folder_path +testId + ".png" );
     Assert.assertEquals(resourceGroupTagElement, expectedResult); 
}*/

}

  • You have Java 14 on your work machine and DevOps Pipeline uses a Java 8 environment – XtremeBaumer May 20 '22 at 06:17
  • Yes I have installed java 14 on my system, so I need to install java jdk 8 in my system, need to change in POM file as well right? – Rajat lilhare May 20 '22 at 06:20
  • Depends on the features of java 14 you use. If you don't use any, then you can downgrade your machine to java 8. However it might be easier to set up a java 14 machine for devops – XtremeBaumer May 20 '22 at 06:41
  • what do you mean by features of java 14, you mean libraries used in pom file, & can you tell me how to set java 14 on machine for devOps. can you brief me. – Rajat lilhare May 20 '22 at 12:13
  • ca you tell me how can I run maven project using powershell on remote machine(Virtual Machine) – Rajat lilhare May 20 '22 at 13:26
  • @XtremeBaumer when I m running this code on my system it is running fine but when I m running it on Azure DevOps pipeline, it is giving me above error. – Rajat lilhare May 23 '22 at 08:08

0 Answers0