Untitled
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