<repo_name>iamgovindthakur/interestCalculator<file_sep>/src/main/java/baseClasses/BaseTestClass.java
package baseClasses;

import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.opera.OperaDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.testng.annotations.AfterMethod;

import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;

import io.github.bonigarcia.wdm.WebDriverManager;
import utilities.ExtentReportManager;

public class BaseTestClass {

	public WebDriver driver;
	public ExtentReports report = ExtentReportManager.getReportInstance();
	public ExtentTest logger;
	public static Properties prop;

	/****************** Invoke Browser ***********************/
	public void invokeBrowser(String browserName) {

		try {

			if (browserName.equalsIgnoreCase("Chrome")) {

				WebDriverManager.chromedriver().setup();
				ChromeOptions options = new ChromeOptions();
				options.addExtensions(new File("./src/test/resources/AdBlock.crx"));
				driver = new ChromeDriver(options);

			} else if (browserName.equalsIgnoreCase("Mozila")) {

				WebDriverManager.firefoxdriver().setup();
				FirefoxBinary firefoxBinary = new FirefoxBinary();
				firefoxBinary.addCommandLineOptions("--headless");
				FirefoxProfile profile = new FirefoxProfile();
				profile.addExtension(new File(("./src/test/resources/AdBlock.xpi")));
				FirefoxOptions firefoxOptions = new FirefoxOptions();
				firefoxOptions.setBinary(firefoxBinary);
				firefoxOptions.setProfile(profile);
				driver = new FirefoxDriver(firefoxOptions);
			} else if (browserName.equalsIgnoreCase("Opera")) {

				WebDriverManager.operadriver().setup();
				driver = new OperaDriver();
			} else if (browserName.equalsIgnoreCase("IE")) {

				WebDriverManager.iedriver().setup();
				driver = new InternetExplorerDriver();
			} else {

				driver = new SafariDriver();
			}
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
		driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
		driver.manage().window().maximize();

		if (prop == null) {
			prop = new Properties();

			try {
				FileInputStream file = new FileInputStream(System.getProperty("user.dir")
						+ "//src/test//resources//ObjectRepository//projectConfig.properties");
				prop.load(file);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	@AfterMethod(alwaysRun = true)
	public void flushReports() {
		report.flush();
		driver.quit();
	}

}
<file_sep>/src/main/java/pageClasses/CarLoanPage.java
package pageClasses;

import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import com.aventstack.extentreports.ExtentTest;

import baseClasses.PageBaseClass;

public class CarLoanPage extends PageBaseClass {

	public CarLoanPage(WebDriver driver, ExtentTest logger) {
		super(driver, logger);
	}

	/* Adjusting Car Loan Amount Field value with Slider */
	public void setHomeAmountSlider(String sliderLocator, double value, double sliderMax, double sliderMin) {
		WebElement locator = getElement(sliderLocator);
		moveSlider(locator, value, sliderMax, sliderMin);
	}

	/* Adjusting Interest Rate Field value with Slider */
	public void setInterestRateSlider(String sliderLocator, double value, double sliderMax, double sliderMin) {
		WebElement locator = getElement(sliderLocator);
		moveSlider(locator, value, sliderMax, sliderMin);
	}

	/* Adjusting Loan Tenure Field value with Slider */
	public void setLoanTenureSlider(String sliderLocator, double value, double sliderMax, double sliderMin) {
		WebElement locator = getElement(sliderLocator);
		moveSlider(locator, value, sliderMax, sliderMin);
	}


	/* Clearing Text Box Pre Loaded Value And Give New Input Value*/
	public void clearFieldandGiveInput(String locator, String input) {
		getElement(locator).clear();
		getElement(locator).sendKeys(Keys.BACK_SPACE + input + Keys.TAB);
	}

	/* Displaying EMI Summary */
	public void displayEmiDetails() {
		System.out.println("-------------------------------------------------------");
		System.out.println("Loan EMI: " + getElement("carLoanEmiAmount_CSS").getText());
		System.out.println("Total Interest Payable: " + getElement("carInterestPayable_CSS").getText());
		System.out.println("Total Payment(Principal + Interest): " + getElement("carTotalAmount_CSS").getText());
		System.out.println("-------------------------------------------------------");
		takeScreenShotOfWebelement("carLoanResult_Xpath");

	}

}
<file_sep>/src/test/java/testCase/LoanEmiCalculator.java
package testCase;

import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.Test;

import baseClasses.BaseTestClass;
import baseClasses.PageBaseClass;
import pageClasses.LandingPage;
import pageClasses.LoanCalulatorPage;

public class LoanEmiCalculator extends BaseTestClass {

	LandingPage lp;
	LoanCalulatorPage loanCalculator;
	
	
	@Test(groups="Main_TestCase")
	public void testEMICalculator() {
		logger = report.createTest("Loan EMI Calculator TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.setLoanAmountSlider("loanamountslider_Xpath", 15, 200, 0);
		loanCalculator.assertequals("15,00,000", loanCalculator.readText("loanAmountTextBox_Xpath"));
		loanCalculator.setInterestRateSlider("loanInterestRateSlider_Xpath", 9.5, 20, 0);
		loanCalculator.assertequals("9.5", loanCalculator.readText("loanInterestRateTextBox_Xpath"));
		loanCalculator.setLoanTenureSlider("loanTermslider_Xpath", 1, 30, 0);
		loanCalculator.assertequals("1", loanCalculator.readText("loanTennureTextBox_Xpath"));
		loanCalculator.setLoanFeeChargesSlider("loanFeesslider_Xpath", .45, 1, 0);
		loanCalculator.assertequals("45,000", loanCalculator.readText("loanFeesNChargesTextBox_Xpath"));
		loanCalculator.displayLoanEmi();
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorAmountFieldForNumbericInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanAmountTextBox_Xpath", "2500000");
		loanCalculator.assertequals("25,00,000", loanCalculator.readText("loanAmountTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorAmountFieldForAlphabeticInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanAmountTextBox_Xpath", "qwerty");
		loanCalculator.assertequals("qwerty", loanCalculator.readText("loanAmountTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorAmountFieldForSpecialCharactersInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanAmountTextBox_Xpath", "!@#$%");
		loanCalculator.assertequals("!@#$%", loanCalculator.readText("loanAmountTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorInterestRateFieldForNumbericInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanInterestRateTextBox_Xpath", "9.5");
		loanCalculator.assertequals("9.5", loanCalculator.readText("loanInterestRateTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorInterestRateFieldForAlphabeticInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanInterestRateTextBox_Xpath", "qwerty");
		loanCalculator.assertequals("qwerty", loanCalculator.readText("loanInterestRateTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorInterestRateFieldForSpecialCharactersInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanInterestRateTextBox_Xpath", "!@#$%");
		loanCalculator.assertequals("!@#$%", loanCalculator.readText("loanInterestRateTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorLoanTenureFieldForNumbericInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanTennureTextBox_Xpath", "1");
		loanCalculator.assertequals("1", loanCalculator.readText("loanTennureTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorLoanTenureFieldForAlphabeticInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanTennureTextBox_Xpath", "qwerty");
		loanCalculator.assertequals("qwerty", loanCalculator.readText("loanTennureTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorLoanTenureFieldForSpecialCharactersInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanTennureTextBox_Xpath", "!@#$%");
		loanCalculator.assertequals("!@#$%", loanCalculator.readText("loanTennureTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorFeesNChargesFieldForNumbericInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanFeesNChargesTextBox_Xpath", "25000");
		loanCalculator.assertequals("25,000", loanCalculator.readText("loanFeesNChargesTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorFeesNChargesForAlphabeticInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanFeesNChargesTextBox_Xpath", "qwerty");
		loanCalculator.assertequals("qwerty", loanCalculator.readText("loanFeesNChargesTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}

	@Test
	public void testEMICalculatorFeesNChargesFieldForSpecialCharactersInputValue() {
		logger = report.createTest("Loan Calculator EMI TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		lp = pageBase.OpenApplication();
		loanCalculator = lp.navigateToloanCalculator();
		loanCalculator.navigateToEmiCalculator();
		loanCalculator.clearFieldandGiveInput("loanFeesNChargesTextBox_Xpath", "!@#$%");
		loanCalculator.assertequals("!@#$%", loanCalculator.readText("loanFeesNChargesTextBox_Xpath"));
		loanCalculator.softAssert.assertAll();
		
	}
}
<file_sep>/test-output/old/EMI Calculator main testcases/methods.html
<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>EMI Calculator main testcases</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
<table border="1">
<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
<tr bgcolor="8ddf86">  <td>21/03/29 15:29:55</td>   <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="CarLoanTest.testCarLoan()[pri:0, instance:testCase.CarLoanTest@5b29ab61]">testCarLoan</td> 
  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="b6e1c0">  <td>21/03/29 15:30:24</td>   <td>29426</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTestClass.flushReports()[pri:0, instance:testCase.CarLoanTest@5b29ab61]">&lt;&lt;flushReports</td> 
<td>&nbsp;</td>  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="d57eae">  <td>21/03/29 15:30:26</td>   <td>31392</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoanEmiCalculator.testEMICalculator()[pri:0, instance:testCase.LoanEmiCalculator@5c313224]">testEMICalculator</td> 
  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="b6e1c0">  <td>21/03/29 15:30:55</td>   <td>59762</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTestClass.flushReports()[pri:0, instance:testCase.LoanEmiCalculator@5c313224]">&lt;&lt;flushReports</td> 
<td>&nbsp;</td>  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="af7d97">  <td>21/03/29 15:30:56</td>   <td>61215</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoanAmountCalculator.testLoanAmountCalculator()[pri:0, instance:testCase.LoanAmountCalculator@1e1e837d]">testLoanAmountCalculator</td> 
  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="b6e1c0">  <td>21/03/29 15:31:30</td>   <td>95199</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTestClass.flushReports()[pri:0, instance:testCase.LoanAmountCalculator@1e1e837d]">&lt;&lt;flushReports</td> 
<td>&nbsp;</td>  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="a5818e">  <td>21/03/29 15:31:31</td>   <td>96329</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="HomeLoanEMICalculator.testHomeLoanEMICalculator()[pri:0, instance:testCase.HomeLoanEMICalculator@4b957db0]">testHomeLoanEMICalculator</td> 
  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="b6e1c0">  <td>21/03/29 15:32:31</td>   <td>156059</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTestClass.flushReports()[pri:0, instance:testCase.HomeLoanEMICalculator@4b957db0]">&lt;&lt;flushReports</td> 
<td>&nbsp;</td>  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="75ae93">  <td>21/03/29 15:32:32</td>   <td>157365</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="LoanTenureCalculator.testLoanTenureCalculator()[pri:0, instance:testCase.LoanTenureCalculator@5d71b500]">testLoanTenureCalculator</td> 
  <td>main@157990006</td>   <td></td> </tr>
<tr bgcolor="b6e1c0">  <td>21/03/29 15:33:18</td>   <td>202795</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;BaseTestClass.flushReports()[pri:0, instance:testCase.LoanTenureCalculator@5d71b500]">&lt;&lt;flushReports</td> 
<td>&nbsp;</td>  <td>main@157990006</td>   <td></td> </tr>
</table>
<file_sep>/src/main/java/pageClasses/LandingPage.java
package pageClasses;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.PageFactory;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.Status;

import baseClasses.PageBaseClass;

public class LandingPage extends PageBaseClass {

	public LandingPage(WebDriver driver, ExtentTest logger) {
		super(driver, logger);
	}

	/* Navigate to car loan page from landing page */
	public CarLoanPage navigateToCarLoan() {
		logger.log(Status.INFO, "Identifying the Car Loan Link");
		elementClick("carLoanLink_Xpath");
		logger.log(Status.PASS, "Car Loan Link identified and Clicked");
		CarLoanPage carLoanPage = new CarLoanPage(driver, logger);
		PageFactory.initElements(driver, carLoanPage);
		return carLoanPage;

	}

	/* Navigate to loan calculator page from landing page */
	public LoanCalulatorPage navigateToloanCalculator() {

		elementClick("menuDropDown_Id");
		elementClick("loanCalculator_Xpath");
		LoanCalulatorPage loanCalulatorPage = new LoanCalulatorPage(driver, logger);
		PageFactory.initElements(driver, loanCalulatorPage);
		return loanCalulatorPage;
	}

	/* Navigate to home loan EMI page from landing page */
	public HomeLoanEMIPAGE navigateToHomeLoanEMICalculator() {

		elementClick("menuDropDown_Id");
		elementClick("homeLoanEMICalculator_Xpath");
		HomeLoanEMIPAGE homeLoanEMIPAGE = new HomeLoanEMIPAGE(driver, logger);
		PageFactory.initElements(driver, homeLoanEMIPAGE);
		return homeLoanEMIPAGE;

	}

}
<file_sep>/test-output/old/EMI Calculator main testcases/Main testcase Test.properties
[SuiteResult context=Main testcase Test]<file_sep>/src/test/java/testCase/CarLoanTest.java
package testCase;

import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.Test;
import baseClasses.BaseTestClass;
import baseClasses.PageBaseClass;
import pageClasses.CarLoanPage;
import pageClasses.LandingPage;

public class CarLoanTest extends BaseTestClass {

	LandingPage landingPage;
	CarLoanPage carLoan;



	@Test(groups = "Main_TestCase")
	public void testCarLoan() throws InterruptedException {
		logger = report.createTest("Car Loan TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.setHomeAmountSlider("carLoanamountSlider_Xpath", 15, 20, 0);
		carLoan.assertequals("15,00,000", carLoan.readText("carLoanamountTextBox_Xpath"));
		carLoan.setInterestRateSlider("carInterestRateSlider_Xpath", 9.5, 20, 5);
		carLoan.assertequals("9.5", carLoan.readText("carInterestRateTextBox_Xpath"));
		carLoan.setLoanTenureSlider("carLoanTennureSlider_Xpath", 1, 7, 0);
		carLoan.takeScreenShot();
		carLoan.assertequals("1", carLoan.readText("carLoanTennureTextBox_Xpath"));
		carLoan.displayEmiDetails();
		carLoan.softAssert.assertAll();
	}

	@Test
	public void verifyCarLoanPageNavigation() {
		logger = report.createTest("Car Loan TestCase Report");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.assertequals("Car Loan Amount", pageBase.getElement("carLoanAmountText_CSS").getText());
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyCarLoanAmountFieldForNumbericInputValue() {
		logger = report
				.createTest("To check that the application should accept  numeric values in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanamountTextBox_Xpath", "1500000");
		carLoan.assertequals("15,00,000", carLoan.readText("carLoanamountTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyInterestRateFieldForNumbericInputValue() {
		logger = report
				.createTest("To check that the application should not accept  alphabets in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carInterestRateTextBox_Xpath", "9.5");
		carLoan.assertequals("9.5", carLoan.readText("carInterestRateTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyLoantennureFieldForNumbericInputValue() {
		logger = report.createTest("To check that the application should accept  numeric values in Loan Tenure field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanTennureTextBox_Xpath", "1");
		carLoan.assertequals("1", carLoan.readText("carLoanTennureTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyCarLoanAmountFieldForAlphabeticInputValue() {
		logger = report
				.createTest("To check that the application should accept  alphabetic values in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanamountTextBox_Xpath", "qwerty");
		carLoan.assertequals("qwerty", carLoan.readText("carLoanamountTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyInterestRateFieldForAlphabeticInputValue() {
		logger = report.createTest(
				"To check that the application should not accept  alphabetics value in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carInterestRateTextBox_Xpath", "qwerty");
		carLoan.assertequals("qwerty", carLoan.readText("carInterestRateTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyLoantennureFieldForAlphabeticInputValue() {
		logger = report
				.createTest("To check that the application should accept  alphabetics values in Loan Tenure field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanTennureTextBox_Xpath", "qwerty");
		carLoan.assertequals("qwerty", carLoan.readText("carLoanTennureTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyCarLoanAmountFieldForSpecialCharactersInputValue() {
		logger = report.createTest(
				"To check that the application should accept  special characters values in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanamountTextBox_Xpath", "!@#$%");
		carLoan.assertequals("!@#$%", carLoan.readText("carLoanamountTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyInterestRateFieldForSpecialCharactersInputValue() {
		logger = report.createTest(
				"To check that the application should not accept  special characters value in Car Loan Amount field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carInterestRateTextBox_Xpath", "!@#$%");
		carLoan.assertequals("!@#$%", carLoan.readText("carInterestRateTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

	@Test
	public void verifyLoantennureFieldForSpecialCharactersInputValue() {
		logger = report.createTest(
				"To check that the application should accept  special characters values in Loan Tenure field.");
		invokeBrowser("chrome");
		PageBaseClass pageBase = new PageBaseClass(driver, logger);
		PageFactory.initElements(driver, pageBase);
		landingPage = pageBase.OpenApplication();
		carLoan = landingPage.navigateToCarLoan();
		carLoan.clearFieldandGiveInput("carLoanTennureTextBox_Xpath", "!@#$%");
		carLoan.assertequals("!@#$%", carLoan.readText("carLoanTennureTextBox_Xpath"));
		carLoan.softAssert.assertAll();
		
	}

}
