Untitled

 avatar
unknown
plain_text
16 days ago
6.7 kB
1
Indexable
package TestScripts;

import java.util.HashMap;
import java.util.Map;

import org.openqa.selenium.Alert;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.IHookCallBack;
import org.testng.IHookable;
import org.testng.ITestResult;
import org.testng.annotations.Test;

import CommonUtils.ApplicationCommonFunctions;
import CommonUtils.Utility;

public class IT_MarketCoverageChange  extends Driver implements IHookable, OR {

	Utility obj = new Utility();
	String clsname = this.getClass().getSimpleName();
	private String ALMtestID;
	private Map<String, String> readData = new HashMap<String, String>();
	private int strtTestIter;
	private int inTest = 0;
	private int endTestIter;

	public void setObj(Utility obj) {
		this.obj = obj;
	}

	@Override
	public void run(IHookCallBack callBack, ITestResult testResult) {

		String testMethodName = testResult.getMethod().getMethodName();
		// System.out.println("testMethodName::" + testMethodName);
		if (Driver.TCtoRun.contains(testMethodName)) {
			System.err.println("About to run " + testResult.getMethod().getMethodName());
			callBack.runTestMethod(testResult);
		} else {
			testResult.setStatus(ITestResult.SKIP);
		}
	}
	@Test
	public final void TC02_MarketCov_Chrome() {
		String methName = new Object() {
		}.getClass().getEnclosingMethod().getName();
		strtTestIter = iterationDetailsMap.get(methName).get(0);
		endTestIter = iterationDetailsMap.get(methName).get(1);
		System.out.println("strtTestIter::" + strtTestIter);
		System.out.println("endTestIter::" + endTestIter);
		for (inTest = strtTestIter; inTest < endTestIter + 1; inTest++) {// for iterations
			try {
				obj.getTs().createDetailsFile(methName, inTest);
				readData = cfUtil.createDataMap(clsname, methName, inTest);
				System.out.println("readData::" + readData);
				//// ****************Initialization Done****************************////
				ALMtestID = cfUtil.GetData(readData, "ALMTestID");
				boolean login = Boolean.parseBoolean(cfUtil.GetData(readData, "Login"));
				String brwsr = cfUtil.GetData(readData, "Browser");
				String url = cfUtil.GetData(readData, "URL");
				String userid = cfUtil.GetData(readData, "Username");
				String dealerCode = cfUtil.GetData(readData, "DealerCode");
				String Apppwd = null;

				if (cfUtil.GetData(readData, "Password").equals("")) {
					Apppwd = DC_password;
				} else {
					Apppwd = cfUtil.GetData(readData, "Password");
					Apppwd = cfUtil.decrypt(Apppwd);
				}
				System.out.println("login::" + login);
				System.out.println("brwsr::" + brwsr);
				System.out.println("url::" + url);
				System.out.println("userid::" + userid);
				// System.out.println("Apppwd::"+Apppwd);

				
				
				String vinn = cfUtil.GetData(readData, "VIN");
	     		String odometer=cfUtil.GetData(readData, "ODOM");
				
				
				

				if (login) {
					boolean brOpen = obj.openBrowser(brwsr);
					System.out.println("brOpen::" + brOpen);
					if (brOpen) {
						obj.getTs().reportPass("Browser Opened", "Browser is opened   " + brwsr);
					}
					Thread.sleep(2500);
					System.out.println("Before loginToApplication()");
					boolean doLogin = ApplicationCommonFunctions.loginToApplication(obj, url, userid, Apppwd,
							dealerCode);

					System.out.println("doLogin::" + doLogin);
					if (!doLogin) {
						obj.getTs().reportFail("Login Validate", "Login to application failed");
						PostResultsInALM(obj, methName, ALMtestID);
						break;
					}
				}
				//Thread.sleep(6000);
				obj.NavigateWindow();
				String styleDisplay = obj.getCssValue("Flex Menu Display", OR.flexmenu_style_display);
				if (obj.isDisplayed("Service  Tab flexMenu", OR.service_tab) && !styleDisplay.equalsIgnoreCase(OR.none)) {
					obj.clickOnElement("Service Tab flexMenu", OR.service_tab);
					Thread.sleep(2000);
				} else {
					obj.NavigateFrames("title");
					obj.clickOnElement("Service Tab", OR.mainMenu_service);
				//	Thread.sleep(2000);
				}

				obj.NavigateWindow();
				obj.NavigateFrames(OR.Main);
				//Thread.sleep(3000);
				obj.ClickOnLink(OR.marketcoverageChange_app_link);
				obj.NavigateWindow();
				obj.NavigateFrames(OR.Main);
				//Thread.sleep(6000);
				obj.setText("Entering vin ", OR.mVin, vinn);
				Thread.sleep(6000);
				
				obj.clickOnElement("Clicking on search button", OR.mSearch);
				Thread.sleep(4000);
				obj.clickOnElementalert("search", OR.mSearch, "currentOdometerreading req");
				Thread.sleep(5000);
				//WebDriver driver;
				handleAlerts();
				System.out.println("odometer enter after alert");
				//after entering vin clear it and enter odometer without vin
				obj.clickOnElement("Clicking on clear button", OR.mClear);
				Thread.sleep(2000);
				obj.setText("Entering Odometer ", OR.mOdometer, odometer);
				Thread.sleep(2000);
				//handleAlerts();
				
				//now entering both vin and odometer
				obj.setText("Entering vin ", OR.mVin, vinn);
				Thread.sleep(2000);
				obj.setText("Entering Odometer ", OR.mOdometer, odometer);
				Thread.sleep(2000);
				//clicking on search
				obj.clickOnElement("Clicking on search button", OR.mSearch);
				Thread.sleep(2000);
				//click on yes	
				obj.clickOnElement("Clicking on yes button",OR.mYes);
				Thread.sleep(2000);
				//click on printAck
				obj.clickOnElement("Clicking on PrintPreviewAcknowledgement button",OR.mprintAck);
				Thread.sleep(2000);
				
				
				
				
				
				
				
				


			

			}

			catch (Exception eco) {
				obj.getTs().provideSCPath(obj.wdriver);
				System.out.println(eco.getMessage());
				eco.printStackTrace();
				obj.getTs().reportFail(methName, methName + " test case failed");
				obj.getTs().reportFail("Printing Error Message", eco.getMessage().split("\\(Driver")[0]);
			} finally {
				obj.getTs().addInSummary(methName, descriptionMap.get(methName), System.nanoTime());
				//PostResultsInALM(obj, methName, ALMtestID);
			}

		} // iterations
	}

	public void handleAlerts() {
		try {
			 WebDriverWait wait = new WebDriverWait(obj.wdriver, 40000); // Adjust the timeout as necessary
////		    wait.until(ExpectedConditions.alertIsPresent());
		Alert alert = obj.wdriver.switchTo().alert();
		//Thread.sleep(2000);
		String alertText=alert.getText();
		System.out.println("Alert Text: "+alertText);
		alert.accept();
		
		
		}
		catch(NoAlertPresentException e) {
			System.out.println("No alert present after clicking on search");
		} 
		
	}
	
}
Leave a Comment