Untitled
unknown
plain_text
a year ago
6.7 kB
5
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");
}
}
}Editor is loading...
Leave a Comment