Hello Ashish,
I am learning Extent Reports from Module 20 (TESTNG AND DATA DRIVEN FRAMEWORK) and being heldup with this issue. I have configured "pom.xml", "ReportsConfig.xml" files and created "ExtentManager.java" file like mentioned in the video. But am getting "org.testng.TestNGException" when executing below script. When i create non-reporting related class within this project, scripts gets excuted without any issues. But encountering this issues when reporting related scripts. Could you please help me with this issue? Attaching the project for references. Thanks in Advance!
Script:
package testCases;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;
import baseTest.BaseClass;
import ddf.Util.ExtentManager;
public class DummyTestA extends BaseClass
{
ExtentReports rep = ExtentManager.getInstance();
ExtentTest test;
@Test (priority=1)
public void Login_Homepage_Successful() throws InterruptedException // Verifying Successful login.
{
test= rep.startTest("DummyTestA");
test.log(LogStatus.INFO,"Starting the test Test A");
openBrowser("Chrome");
test.log(LogStatus.INFO,"Opened the browser");
navigate("auturl");
click("AccountIcon_divcss");
click("loginlink_acss");
test.log(LogStatus.PASS,"Test A Passed.");
quit();
}
@AfterMethod
public void quit1()
{
rep.endTest(test);
rep.flush();
}
}
Error:
[RemoteTestNG] detected TestNG version 6.14.3
org.testng.TestNGException:
Cannot instantiate class testCases.DummyTestA
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)
at org.testng.TestClass.getInstances(TestClass.java:95)
at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:81)
at org.testng.TestClass.init(TestClass.java:73)
at org.testng.TestClass.<init>(TestClass.java:38)
at org.testng.TestRunner.initMethods(TestRunner.java:389)
at org.testng.TestRunner.init(TestRunner.java:271)
at org.testng.TestRunner.init(TestRunner.java:241)
at org.testng.TestRunner.<init>(TestRunner.java:192)
at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)
at org.testng.SuiteRunner.init(SuiteRunner.java:260)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24)
... 25 more
Caused by: java.lang.NoClassDefFoundError: freemarker/template/TemplateModelException
at com.relevantcodes.extentreports.ExtentReports.<init>(ExtentReports.java:86)
at com.relevantcodes.extentreports.ExtentReports.<init>(ExtentReports.java:208)
at ddf.Util.ExtentManager.getInstance(ExtentManager.java:18)
at testCases.DummyTestA.<init>(DummyTestA.java:14)
... 30 more
Caused by: java.lang.ClassNotFoundException: freemarker.template.TemplateModelException
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 34 more
Instructor
Ashish Thakur Replied on 09/01/2019
Caused by: java.lang.ClassNotFoundException: freemarker.template.TemplateModelException
All jars have not come up for sure
Could you please let us know what are the missing jar’s needs to be added?
So I did little bit of research and found out freemarker jar needs to be added. So added the freemarker-2.3.23.jar to the library and am able to execute the script now. Thanks for your assistance.
Instructor
Ashish Thakur Replied on 10/01/2019
Yes...