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);
}*/
}