List of usage examples for org.openqa.selenium By linkText
public static By linkText(String linkText)
From source file:bst.cpo.automation.dm.actions.SystemOverview_Actions.java
public void User_Results_Email_Click(String strEmail) { logThis("Nav: Clicking email link '" + strEmail + "', opening properties panel."); WebElement element = DMDriver.findElement(By.linkText(strEmail)); element.click();//from w ww .j a v a 2 s. c o m }
From source file:budget.WebDriverManager.java
private static void refreshAccountsWF() { int attempts = 3; int attempt = 1; Boolean isDownloaded = false; List<String> credentials = getCredentials(4); while ((attempt <= attempts) && !isDownloaded) { try {// w w w .j a v a 2 s. co m driver = new HtmlUnitDriver(true); wait = new WebDriverWait(driver, timeout); java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit") .setLevel(java.util.logging.Level.OFF); java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF); driver.get("Http://www.wellsfargo.com"); driver.findElement(By.id("userid")).clear(); driver.findElement(By.id("userid")).sendKeys(credentials.get(0)); driver.findElement(By.id("password")).clear(); driver.findElement(By.id("password")).sendKeys(credentials.get(1)); driver.findElement(By.id("btnSignon")).click(); waitAndClick(driver, wait, By.xpath("//th[@id='cashAccount1']/a")); runQueryWF(driver, wait, 4); runQueryWF(driver, wait, 5); runQueryWF(driver, wait, 6); driver.findElement(By.linkText("Sign Off")).click(); driver.close(); driver.quit(); isDownloaded = true; } catch (Exception ex) { driver.quit(); trace(ex.getMessage(), taLog); clearBatch(stmt); attempt++; } ; } trace((isDownloaded ? "Downloaded" : "Not downloaded") + " from " + attempt + ((attempt == 1) ? " attempt" : " attemps"), taLog); executeBatch(stmt, taLog); }
From source file:budget.WebDriverManager.java
private static void runQueryWF(WebDriver driver, WebDriverWait wait, int account) { String date;/*from ww w .jav a 2 s . c om*/ String Analytics; String Category; Double amount; String accountName = getAccountName(stmt, account); //Selecting and wait for certain account page if (account != 4) { new Select(driver.findElement(By.id("accountDropdown"))).selectByIndex(account - 4); driver.findElement(By.name("accountselection")).click(); } wait.until(ExpectedConditions.textToBePresentInElement(driver.findElement(By.className("moremarginbottom")), accountName)); //Gatherng total amount if (account == 6) { String limitStr = driver.findElement(By.xpath("//table[@id='balancedetailstable']/tbody/tr/td")) .getText(); String balanceStr = driver.findElement(By.xpath("//table[@id='balancedetailstable']/tbody/tr[3]/td")) .getText(); //amount = convertStringAmountToDouble(balanceStr) - convertStringAmountToDouble(limitStr); amount = convertStringAmountToDouble(balanceStr); //just for SECURE CARD } else { amount = convertStringAmountToDouble( driver.findElement(By.className("availableBalanceTotalAmount")).getText()); } addTotal(stmt, getTimestamp(), account, amount, taLog); //Gathering transactinos if (account == 6) { String strAmount; driver.findElement(By.id("a.creditcardtempauth")).click(); waitForElement(wait, By.xpath("//tbody[@id='tempAuthSection']/tr")); List<WebElement> rows = driver.findElements(By.xpath("//tbody[@id='tempAuthSection']/tr")); for (WebElement row : rows) { if (!"You have no temporary authorizations for this account.".equals(row.getText())) { date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy"); Analytics = prepareTextForQuery(row.findElement(By.className("text")).getText()); strAmount = row.findElements(By.className("amount")).get(0).getText(); if ("+".equals(strAmount.substring(0, 1))) { amount = convertStringAmountToDouble(strAmount); } else { amount = -convertStringAmountToDouble(strAmount); } addTransaction(true, stmt, date, account, "", Analytics, amount, true, taLog); } } rows = driver.findElements(By.xpath("//table[@id='CreditCardTransactionTable']/tbody[4]/tr")); for (WebElement row : rows) { if (row.findElements(By.className("rowhead")).size() == 1) { if (!"".equals(row.findElement(By.className("rowhead")).getText())) { date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy"); WebElement cell = row.findElement(By.className("text")); Analytics = prepareTextForQuery(cell.findElement(By.xpath("span")).getText()); strAmount = row.findElements(By.className("amount")).get(0).getText(); if ("+".equals(strAmount.substring(0, 1))) { amount = convertStringAmountToDouble(strAmount); } else { amount = -convertStringAmountToDouble(strAmount); } if (amount > 0) { Category = ""; } else { cell.findElement(By.className("detailsSection")).click(); waitForElement(wait, By.xpath("//table[@id='expandCollapseTable']/tbody/tr[2]/td[2]")); Category = cell .findElement(By.xpath("//table[@id='expandCollapseTable']/tbody/tr[2]/td[2]")) .getText(); } addTransaction(true, stmt, date, account, Category, Analytics, amount, false, taLog); } } } } else { driver.findElement(By.id("timeFilter")).click(); new Select(driver.findElement(By.id("timeFilter"))).selectByVisibleText("Date Range"); waitAndClick(driver, wait, By.name("Submit")); int itemsOnPage; if (driver.findElements(By.className("emdisclosure")).size() == 1) { itemsOnPage = Integer.parseInt(driver.findElement(By.className("emdisclosure")).getText() .replace("(", "").replace(" transactions per page)", "")); } else { itemsOnPage = 0; } int itemsCounter; Boolean isPending = false; List<WebElement> lstAmounts; do { itemsCounter = 0; List<WebElement> rows = driver .findElements(By.xpath("//table[@id='DDATransactionTable']/tbody/tr")); for (WebElement row : rows) { if (row.findElement(By.className("text")).getText().contains("Pending transactions")) { isPending = true; } if (row.findElement(By.className("text")).getText().contains("Posted Transactions")) { isPending = false; } if (row.findElements(By.className("rowhead")).size() == 1) { date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy"); Analytics = prepareTextForQuery(row.findElement(By.className("text")).getText()); lstAmounts = row.findElements(By.className("amount")); if (!" ".equals(lstAmounts.get(0).getText())) { amount = convertStringAmountToDouble(lstAmounts.get(0).getText()); } if (!" ".equals(lstAmounts.get(1).getText())) { amount = -convertStringAmountToDouble(lstAmounts.get(1).getText()); } addTransaction(true, stmt, date, account, "", Analytics, amount, isPending, taLog); itemsCounter++; } } if (itemsCounter == itemsOnPage) { driver.findElement(By.linkText("Next >")).click(); } } while (itemsCounter == itemsOnPage); } }
From source file:businesscomponents.ReportcomparisonComponents1.java
public void completeReportComparison1() throws Exception { Thread.sleep(1000);/*from www. j av a2s . co m*/ int flagPrepg, flagPostPg; flagPrepg = 0; flagPostPg = 0; String PreURL = dataTable.getData("General_Data", "PreURL"); driver.get(PreURL); tObj.getUserIdTextBox().clear(); tObj.getUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getLoginButton().click(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> pre_reportData = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> post_Pages_Data = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); try { Thread.sleep(1200); // System.out.println("Page title is: " + driver.getTitle()); if (driver.getTitle().contains("Files & Folders")) { String[] foldersName = dataTable.getData("General_Data", "PreReportFolderName").split(";"); int LengthFolder = foldersName.length; for (int folderLoop = 0; folderLoop < foldersName.length - 1; folderLoop++) { driver.switchTo().frame(driver.findElement(By.id("TableFrame"))); driver.switchTo().frame(driver.findElement(By.id("tableFrame"))); if (waitForElement(driver, By.linkText(foldersName[folderLoop]), 1000)) { driver.findElement(By.linkText(foldersName[folderLoop])).click(); report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is PASSED", Status.PASS); } else { report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is failed", Status.FAIL); } driver.switchTo().defaultContent(); } driver.switchTo().frame(driver.findElement(By.id("TableFrame"))); driver.switchTo().frame(driver.findElement(By.id("tableFrame"))); Thread.sleep(4000); final String PreReportName_xpath = "//a[contains(@href,'" + foldersName[(LengthFolder - 1)] + "')]"; int NumberReports = driver.findElements(By.xpath(PreReportName_xpath)).size(); //System.out.println("Number of Reports :" +NumberReports); //reporting for report present or not driver.findElements(By.xpath(PreReportName_xpath)).get(NumberReports - 1).click(); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("TableFrame"))); driver.switchTo().frame(driver.findElement(By.id("tableFrame"))); String reportName = dataTable.getData("General_Data", "ReportName"); // Thread.sleep(3000); //if (waitForElement(driver, By.linkText(reportName), 3000)) // { // driver.findElement(By.linkText(reportName)).click(); //driver.findElements(By.xpath(".//*[@id='ItemsTable']//a")).get(0).click(); // int s = driver.findElements(By.xpath(".//*[@id='ItemsTable']//a")).size(); //driver.findElements(By.xpath(".//*[@id='ItemsTable']//a")).get(s-1).click(); ArrayList<String> tab = new ArrayList<String>(driver.getWindowHandles()); driver.switchTo().window(tab.get(1)); // System.out.println("Window Title : " +driver.getTitle()); waitForElement(driver, By.id("toolbarframe"), 4000); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); //System.out.println("Switched to frame"); String no_Of_Pages = driver .findElement(By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); // System.out.println("value of no_Of_Pages: " +no_Of_Pages); int no_OfPages = Integer.parseInt(no_Of_Pages); //System.out.println("No of pages: " +no_OfPages); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); ArrayList<WebElement> no_of_rows = new ArrayList<WebElement>(); no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); HashMap<Integer, ArrayList<String>> table_data = null; //ArrayList<String> column_Values=new ArrayList<>(); ArrayList<WebElement> column_Values_Properties = new ArrayList<WebElement>(); String dynaXpath; // for (int l = 1; l <= 2; l++) for (int l = 1; l <= no_OfPages; l++) { if (reportName.contains("MRF601")) { strHeaderVal = mObj.getHeaderValuesrprt601(); } else if (reportName.contains("MRF202")) strHeaderVal = mObj.getHeaderValuesrprt202(); else if (reportName.equalsIgnoreCase("MRA112") || reportName.equalsIgnoreCase("MRA114")) strHeaderVal = mObj.getHeaderValuesrprtMRA112_all(); else if (reportName.equalsIgnoreCase("MRA103")) strHeaderVal = mObj.getrprt103AHeaderelementValues(); else if (reportName.equalsIgnoreCase("MRF604")) strHeaderVal = mObj.getHeaderValuesrprt604(); else if (reportName.equalsIgnoreCase("MRM104")) strHeaderVal = mObj.getHeaderValuesMRM104(); else if (reportName.equalsIgnoreCase("MRF458")) strHeaderVal = mObj.getHeaderValuesMRF458(); else if (reportName.equalsIgnoreCase("MRF807")) strHeaderVal = mObj.getHeaderValuesrprt807(); else { strHeaderVal = mObj.getHeaderValuesPre(); } no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); table_data = new HashMap<Integer, ArrayList<String>>(); for (int i = 2; i <= no_of_rows.size(); i++) { dynaXpath = "//body[@onunload='onUnload()']/div/div/div[" + i + "]/*/nobr"; column_Values_Properties = (ArrayList<WebElement>) driver.findElements(By.xpath(dynaXpath)); ArrayList<String> column_Values = new ArrayList<String>(); if (column_Values_Properties.size() > 0) { for (int j = 0; j < column_Values_Properties.size(); j++) { column_Values.add(j, column_Values_Properties.get(j).getText()); } } table_data.put(i, column_Values); } pre_reportData.put(l, table_data); flagPrepg = 1; // System.out.println("Pre data is : " +pre_reportData); //table_data.clear(); if (flagPrepg == 0) { report.updateTestLog("Pre Report" + reportName, "Data is not been stored from Page No" + l, Status.FAIL); } if (l <= 3 || l > no_OfPages - 3) { report.updateTestLog("Pre Report" + reportName, "Page No" + l, Status.PASS); //System.out.println("Pre data for page "+l+ " is : " +pre_reportData.get(l)); } page.add(strHeaderVal); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); waitForElement(driver, By.id("reportframe"), 2000); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); flagPrepg = 0; } pages.add(page); driver.switchTo().window(tab.get(0)); // } // else // { //report.updateTestLog("Report Selection", "Not able to find the report Name", Status.FAIL); // } } else { report.updateTestLog("Prereport Folders", "Pre Report folders pages is not opened", Status.FAIL); } } catch (Exception e) { e.printStackTrace(); } String PostURL = dataTable.getData("General_Data", "PostURL"); driver.get(PostURL); tObj.getPostUserIdTextBox().clear(); tObj.getPostUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getPostPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getPostLoginButton().click(); try { WebElement folderFrame = null; String[] postFolderName = dataTable.getData("General_Data", "PostReportFolderName").split(";"); if (waitForElement(driver, By.id("acFileExplorer"), 4000)) { //System.out.println("test1"); for (int folders = 0; folders < (postFolderName.length - 1); folders++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String dynaXpathFolder1 = "//a[contains(@href,'" + postFolderName[folders] + "')]"; //if (waitForElement(driver, By.linkText(postFolderName[folders]), 1000)) if (waitForElement(driver, By.xpath(dynaXpathFolder1), 1000)) { driver.findElement(By.linkText(postFolderName[folders])).click(); driver.switchTo().defaultContent(); } else { report.updateTestLog("Post Report Folder Navigation", "Post Report Folder Navigation" + folderFrame + "Has failed", Status.FAIL); } } driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String postReportName = dataTable.getData("General_Data", "PostReportName"); System.out.println("Post report name : " + postReportName); if (waitForElement(driver, By.linkText(postReportName), 1000)) { driver.findElement(By.linkText(postReportName)).click(); // System.out.println("Pass1"); driver.switchTo().defaultContent(); // System.out.println("Pass2"); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); // System.out.println("Pass3"); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); // System.out.println("Pass4"); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); // System.out.println("Pass5"); String no_Of_Pages = driver .findElement( By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); int no_OfPages = Integer.parseInt(no_Of_Pages); driver.switchTo().defaultContent(); HashMap<Integer, ArrayList<String>> post_Page_TableData = null; // for (int i = 1; i <= 2; i++) for (int i = 1; i <= no_OfPages; i++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); /* Changes on 11/04/2016 * * */ if (postReportName.contains("MRF601")) { strHeaderVal = mObj.getHeaderValuesrprt601(); } else if (postReportName.contains("MRF202")) strHeaderVal = mObj.getHeaderValuesrprt202(); else if (postReportName.equalsIgnoreCase("MRA112") || postReportName.equalsIgnoreCase("MRA114")) strHeaderVal = mObj.getHeaderValuesrprtMRA112_all(); else if (postReportName.equalsIgnoreCase("MRA103")) strHeaderVal = mObj.getrprt103AHeaderelementValues(); else if (postReportName.equalsIgnoreCase("MRF604")) strHeaderVal = mObj.getHeaderValuesrprt604(); else if (postReportName.equalsIgnoreCase("MRM104")) strHeaderVal = mObj.getHeaderValuesMRM104(); else if (postReportName.equalsIgnoreCase("MRF458")) strHeaderVal = mObj.getHeaderValuesMRF458(); else if (postReportName.equalsIgnoreCase("MRF807")) strHeaderVal = mObj.getHeaderValuesrprt807(); else strHeaderVal = mObj.getHeaderValuesPost(); List<WebElement> no_Of_Rows = driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); String dynaXpath; ArrayList<WebElement> column_Values_Elements = new ArrayList<WebElement>(); //ArrayList<String> column_Values=new ArrayList<>(); post_Page_TableData = new HashMap<Integer, ArrayList<String>>(); for (int j = 2; j <= no_Of_Rows.size(); j++) { dynaXpath = "//body[@onunload='onUnload()']/div/div/div[" + j + "]/*/nobr"; ArrayList<String> column_Values = new ArrayList<String>(); column_Values_Elements = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath)); if (column_Values_Elements.size() > 0) { for (int k = 0; k < column_Values_Elements.size(); k++) { column_Values.add(k, column_Values_Elements.get(k).getText()); } } post_Page_TableData.put(j, column_Values); //column_Values.clear(); } post_Pages_Data.put(i, post_Page_TableData); //System.out.println("Past Pages data is : " +post_Pages_Data); // post_Page_TableData.clear(); flagPostPg = 1; if (flagPostPg == 0) report.updateTestLog("Post Report " + postReportName, "Data is not been stored from Page No" + i, Status.FAIL); if (i <= 3 || i > no_OfPages - 3) { report.updateTestLog("Post Report " + postReportName, "Page No" + i, Status.PASS); //System.out.println("Post Page data for page number: "+i+ " is : " +post_Pages_Data.get(i)); } postPage.add(strHeaderVal); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); waitForElement(driver, By.id("acFileExplorer"), 2000); flagPostPg = 0; } Postpages.add(postPage); report.updateTestLog("Storing Data", "Data has been stored for Pre report", Status.PASS); compareHeaders(); comparePreandPost(pre_reportData, post_Pages_Data); } else { report.updateTestLog("Post Report Navigation", "Not able to find Report Folder", Status.FAIL); } } else { report.updateTestLog("Post Report Folder Navigation", "Not able to find Post Report Folder structure", Status.FAIL); } } catch (Exception e) { e.printStackTrace(); } }
From source file:businesscomponents.ReportcomparisonComponents1.java
public void completeReportComparisonNew() throws Exception { Thread.sleep(1000);/*from w w w. j a v a2 s.c om*/ int flagPrepg, flagPostPg; flagPrepg = 0; flagPostPg = 0; String TC_ID = dataTable.getData("General_Data", "TC_ID"); String PreURL = dataTable.getData("General_Data", "PreURL"); driver.get(PreURL); tObj.getNewUserIdTextBox().clear(); tObj.getNewUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getNewPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getNewLoginButton().click(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> pre_reportData = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> post_Pages_Data = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); try { Thread.sleep(1000); WebElement folderFrame1 = null; if (driver.getTitle().contains("Information Console")) { String[] foldersName = dataTable.getData("General_Data", "PreReportFolderName").split(";"); int LengthFolder = foldersName.length; for (int folderLoop = 0; folderLoop < foldersName.length - 1; folderLoop++) { folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); if (waitForElement(driver, By.linkText(foldersName[folderLoop]), 100)) { driver.findElement(By.linkText(foldersName[folderLoop])).click(); report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is PASSED", Status.PASS); } else { report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is failed", Status.FAIL); } driver.switchTo().defaultContent(); } folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); Thread.sleep(4000); driver.findElement(By.partialLinkText(foldersName[(LengthFolder - 1)])).click(); driver.switchTo().defaultContent(); folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); String reportName = dataTable.getData("General_Data", "ReportName"); waitForElement(driver, By.id("toolbarframe"), 100); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); String no_Of_Pages = driver .findElement(By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); int no_OfPages = Integer.parseInt(no_Of_Pages); driver.switchTo().defaultContent(); ArrayList<WebElement> no_of_rows = new ArrayList<WebElement>(); no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); HashMap<Integer, ArrayList<String>> table_data = null; ArrayList<WebElement> column_Values_Properties = new ArrayList<WebElement>(); String dynaXpath; // for (int l = 1; l <= 2; l++) for (int l = 1; l <= no_OfPages; l++) { folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); if (reportName.contains("MRF601")) { strHeaderVal = mObj.getHeaderValuesrprt601(); } else if (reportName.contains("MRF202")) strHeaderVal = mObj.getHeaderValuesrprt202(); else if (reportName.equalsIgnoreCase("MRA112") || reportName.equalsIgnoreCase("MRA114")) strHeaderVal = mObj.getHeaderValuesrprtMRA112_all(); else if (reportName.equalsIgnoreCase("MRA103")) strHeaderVal = mObj.getrprt103AHeaderelementValues(); else if (reportName.equalsIgnoreCase("MRF604")) strHeaderVal = mObj.getHeaderValuesrprt604(); else if (reportName.equalsIgnoreCase("MRM104")) strHeaderVal = mObj.getHeaderValuesMRM104(); else if (reportName.equalsIgnoreCase("MRF458")) strHeaderVal = mObj.getHeaderValuesMRF458(); else if (reportName.equalsIgnoreCase("MRF807")) strHeaderVal = mObj.getHeaderValuesrprt807(); else if (TC_ID.contains("Report_MRO219")) strHeaderVal = mObj.getHeaderValuesPreMRO219(); else if (TC_ID.contains("Report_MRA110_UKNOdata_Daily")) strHeaderVal = mObj.getHeaderValuesMRA110_UK_NoData(); else if (reportName.equalsIgnoreCase("MRF303")) strHeaderVal = null; else { strHeaderVal = mObj.getHeaderValuesPre(); } no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); table_data = new HashMap<Integer, ArrayList<String>>(); for (int i = 2; i <= no_of_rows.size(); i++) { //dynaXpath = "(//body[@onunload='onUnload()']/div/div/div)[" + i + "]//nobr"; //MRF303_Report dynaXpath = "//body[@onunload='onUnload()']/div/div/div[" + i + "]/*/nobr"; column_Values_Properties = (ArrayList<WebElement>) driver.findElements(By.xpath(dynaXpath)); ArrayList<String> column_Values = new ArrayList<String>(); if (column_Values_Properties.size() > 0) { for (int j = 0; j < column_Values_Properties.size(); j++) { column_Values.add(j, column_Values_Properties.get(j).getText()); } } table_data.put(i, column_Values); } pre_reportData.put(l, table_data); flagPrepg = 1; if (flagPrepg == 0) { report.updateTestLog("Pre Report" + reportName, "Data is not been stored from Page No" + l, Status.FAIL); } if (l <= 3 || l > no_OfPages - 3) { report.updateTestLog("Pre Report" + reportName, "Page No" + l, Status.PASS); } page.add(strHeaderVal); driver.switchTo().defaultContent(); folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); flagPrepg = 0; } pages.add(page); } else { report.updateTestLog("Prereport Folders", "Pre Report folders pages is not opened", Status.FAIL); } } catch (Exception e) { e.printStackTrace(); } String PostURL = dataTable.getData("General_Data", "PostURL"); driver.get(PostURL); tObj.getPostUserIdTextBox().clear(); tObj.getPostUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getPostPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getPostLoginButton().click(); try { WebElement folderFrame = null; String[] postFolderName = dataTable.getData("General_Data", "PostReportFolderName").split(";"); if (waitForElement(driver, By.id("acFileExplorer"), 4000)) { //System.out.println("test1"); for (int folders = 0; folders < (postFolderName.length - 1); folders++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String dynaXpathFolder1 = "//a[contains(@href,'" + postFolderName[folders] + "')]"; //if (waitForElement(driver, By.linkText(postFolderName[folders]), 1000)) if (waitForElement(driver, By.xpath(dynaXpathFolder1), 1000)) { driver.findElement(By.linkText(postFolderName[folders])).click(); driver.switchTo().defaultContent(); } else { report.updateTestLog("Post Report Folder Navigation", "Post Report Folder Navigation" + folderFrame + "Has failed", Status.FAIL); } } driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String postReportName = dataTable.getData("General_Data", "PostReportName"); //System.out.println("Post report name : " +postReportName); if (waitForElement(driver, By.linkText(postReportName), 1000)) { driver.findElement(By.linkText(postReportName)).click(); // System.out.println("Pass1"); driver.switchTo().defaultContent(); // System.out.println("Pass2"); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); // System.out.println("Pass3"); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); // System.out.println("Pass4"); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); // System.out.println("Pass5"); String no_Of_Pages = driver .findElement( By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); int no_OfPages = Integer.parseInt(no_Of_Pages); driver.switchTo().defaultContent(); HashMap<Integer, ArrayList<String>> post_Page_TableData = null; // for (int i = 1; i <= 2; i++) for (int i = 1; i <= no_OfPages; i++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); /* Changes on 11/04/2016 * * */ if (postReportName.contains("MRF601")) { strHeaderVal = mObj.getHeaderValuesrprt601(); } else if (postReportName.contains("MRF202")) strHeaderVal = mObj.getHeaderValuesrprt202(); else if (postReportName.equalsIgnoreCase("MRA112") || postReportName.equalsIgnoreCase("MRA114")) strHeaderVal = mObj.getHeaderValuesrprtMRA112_all(); else if (postReportName.equalsIgnoreCase("MRA103")) strHeaderVal = mObj.getrprt103AHeaderelementValues(); else if (postReportName.equalsIgnoreCase("MRF604")) strHeaderVal = mObj.getHeaderValuesrprt604(); else if (postReportName.equalsIgnoreCase("MRM104")) strHeaderVal = mObj.getHeaderValuesMRM104(); else if (postReportName.equalsIgnoreCase("MRF458")) strHeaderVal = mObj.getHeaderValuesMRF458(); else if (postReportName.equalsIgnoreCase("MRF807")) strHeaderVal = mObj.getHeaderValuesrprt807(); else if (TC_ID.contains("Report_MRO219")) strHeaderVal = mObj.getHeaderValuesPreMRO219(); else if (TC_ID.contains("Report_MRA110_UKNOdata_Daily")) strHeaderVal = mObj.getHeaderValuesMRA110_UK_NoData(); else if (postReportName.equalsIgnoreCase("MRF303")) strHeaderVal = null; else strHeaderVal = mObj.getHeaderValuesPost(); List<WebElement> no_Of_Rows = driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); String dynaXpath; ArrayList<WebElement> column_Values_Elements = new ArrayList<WebElement>(); //ArrayList<String> column_Values=new ArrayList<>(); post_Page_TableData = new HashMap<Integer, ArrayList<String>>(); for (int j = 2; j <= no_Of_Rows.size(); j++) { dynaXpath = "//body[@onunload='onUnload()']/div/div/div[" + j + "]/*/nobr"; ArrayList<String> column_Values = new ArrayList<String>(); column_Values_Elements = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath)); if (column_Values_Elements.size() > 0) { for (int k = 0; k < column_Values_Elements.size(); k++) { column_Values.add(k, column_Values_Elements.get(k).getText()); } } post_Page_TableData.put(j, column_Values); //column_Values.clear(); } post_Pages_Data.put(i, post_Page_TableData); //System.out.println("Past Pages data is : " +post_Pages_Data); // post_Page_TableData.clear(); flagPostPg = 1; if (flagPostPg == 0) report.updateTestLog("Post Report " + postReportName, "Data is not been stored from Page No" + i, Status.FAIL); if (i <= 3 || i > no_OfPages - 3) { report.updateTestLog("Post Report " + postReportName, "Page No" + i, Status.PASS); //System.out.println("Post Page data for page number: "+i+ " is : " +post_Pages_Data.get(i)); } postPage.add(strHeaderVal); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); waitForElement(driver, By.id("acFileExplorer"), 2000); flagPostPg = 0; } Postpages.add(postPage); report.updateTestLog("Storing Data", "Data has been stored for Pre report", Status.PASS); compareHeaders(); comparePreandPost(pre_reportData, post_Pages_Data); } else { report.updateTestLog("Post Report Navigation", "Not able to find Report Folder", Status.FAIL); } } else { report.updateTestLog("Post Report Folder Navigation", "Not able to find Post Report Folder structure", Status.FAIL); } } catch (Exception e) { e.printStackTrace(); } }
From source file:businesscomponents.ReportcomparisonComponents1.java
public void completeReportComparisonMRF303() throws Exception { //completeReportComparisonNew(); //Login to Pre String PreURL = dataTable.getData("General_Data", "PreURL"); driver.get(PreURL);/*from w w w . jav a2 s . co m*/ tObj.getNewUserIdTextBox().clear(); tObj.getNewUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getNewPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getNewLoginButton().click(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> pre_reportData = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); HashMap<Integer, HashMap<Integer, ArrayList<String>>> post_Pages_Data = new HashMap<Integer, HashMap<Integer, ArrayList<String>>>(); try { WebElement folderFrame1 = null; if (driver.getTitle().contains("Information Console")) { String[] foldersName = dataTable.getData("General_Data", "PreReportFolderName").split(";"); int LengthFolder = foldersName.length; for (int folderLoop = 0; folderLoop < foldersName.length - 1; folderLoop++) { folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); if (waitForElement(driver, By.linkText(foldersName[folderLoop]), 100)) { driver.findElement(By.linkText(foldersName[folderLoop])).click(); report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is PASSED", Status.PASS); } else { report.updateTestLog("Report Navigation", "Navigation to this folder" + foldersName[folderLoop] + "is failed", Status.FAIL); } driver.switchTo().defaultContent(); } folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); Thread.sleep(2000); driver.findElement(By.partialLinkText(foldersName[(LengthFolder - 1)])).click(); driver.switchTo().defaultContent(); folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); String reportName = dataTable.getData("General_Data", "ReportName"); waitForElement(driver, By.id("toolbarframe"), 50); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); String no_Of_Pages = driver .findElement(By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); int no_OfPages = Integer.parseInt(no_Of_Pages); driver.switchTo().defaultContent(); ArrayList<WebElement> no_of_rows = new ArrayList<WebElement>(); no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); HashMap<Integer, ArrayList<String>> table_data_1 = null; HashMap<Integer, ArrayList<String>> table_data_2 = null; ArrayList<WebElement> column_Values_Properties_1 = new ArrayList<WebElement>(); ArrayList<WebElement> column_Values_Properties_2 = new ArrayList<WebElement>(); String dynaXpath; for (int l = 1; l <= no_OfPages; l++) { folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); no_of_rows = (ArrayList<WebElement>) driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); table_data_1 = new HashMap<Integer, ArrayList<String>>(); table_data_2 = new HashMap<Integer, ArrayList<String>>(); if (l < no_OfPages) { for (int i = 2; i <= no_of_rows.size(); i++) { if (i == (no_of_rows.size() - 3)) { ArrayList<String> column_Values_dummy_1 = new ArrayList<String>(); column_Values_dummy_1.add("ByPass"); table_data_1.put(i, column_Values_dummy_1); } else { dynaXpath = "(//body[@onunload='onUnload()']/div/div/div)[" + i + "]//nobr"; column_Values_Properties_1 = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath)); ArrayList<String> column_Values_1 = new ArrayList<String>(); if (column_Values_Properties_1.size() > 0) { for (int j = 0; j < column_Values_Properties_1.size(); j++) { column_Values_1.add(j, column_Values_Properties_1.get(j).getText()); } } table_data_1.put(i, column_Values_1); } } pre_reportData.put(l, table_data_1); } else if (l == no_OfPages) { for (int i = 2; i <= no_of_rows.size() - 1; i++) { dynaXpath = "//body[@onunload='onUnload()']/div/div/div[" + i + "]//nobr"; column_Values_Properties_2 = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath)); ArrayList<String> column_Values_2 = new ArrayList<String>(); if (column_Values_Properties_2.size() > 0) { for (int j = 0; j < column_Values_Properties_2.size(); j++) { column_Values_2.add(j, column_Values_Properties_2.get(j).getText()); } } table_data_2.put(i, column_Values_2); } pre_reportData.put(l, table_data_2); } if (l <= 3 || l > no_OfPages - 3) { report.updateTestLog("Pre Report" + reportName, "Page No" + l, Status.PASS); } driver.switchTo().defaultContent(); folderFrame1 = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame1); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); } System.out.println("Pre data is :" + pre_reportData); } else { report.updateTestLog("Prereport Folders", "Pre Report folders pages is not opened", Status.FAIL); } } catch (Exception e) { System.out.println("Exception is :" + e); } String PostURL = dataTable.getData("General_Data", "PostURL"); driver.get(PostURL); tObj.getPostUserIdTextBox().clear(); tObj.getPostUserIdTextBox().sendKeys(dataTable.getData("General_Data", "UserId")); tObj.getPostPasswordTextBox().sendKeys(dataTable.getData("General_Data", "Password")); tObj.getPostLoginButton().click(); try { WebElement folderFrame = null; String[] postFolderName = dataTable.getData("General_Data", "PostReportFolderName").split(";"); if (waitForElement(driver, By.id("acFileExplorer"), 4000)) { //System.out.println("test1"); for (int folders = 0; folders < (postFolderName.length - 1); folders++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String dynaXpathFolder1 = "//a[contains(@href,'" + postFolderName[folders] + "')]"; //if (waitForElement(driver, By.linkText(postFolderName[folders]), 1000)) if (waitForElement(driver, By.xpath(dynaXpathFolder1), 1000)) { driver.findElement(By.linkText(postFolderName[folders])).click(); driver.switchTo().defaultContent(); } else { report.updateTestLog("Post Report Folder Navigation", "Post Report Folder Navigation" + folderFrame + "Has failed", Status.FAIL); } } driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); String postReportName = dataTable.getData("General_Data", "PostReportName"); if (waitForElement(driver, By.linkText(postReportName), 1000)) { driver.findElement(By.linkText(postReportName)).click(); driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); String no_Of_Pages = driver .findElement( By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")) .getText().trim(); no_Of_Pages = no_Of_Pages.substring(3, no_Of_Pages.length()); int no_OfPages = Integer.parseInt(no_Of_Pages); driver.switchTo().defaultContent(); HashMap<Integer, ArrayList<String>> post_Page_TableData_1 = null; HashMap<Integer, ArrayList<String>> post_Page_TableData_2 = null; for (int i = 1; i <= no_OfPages; i++) { driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("reportframe"))); List<WebElement> no_Of_Rows = driver .findElements(By.xpath("//body[@onunload='onUnload()']/div/div/div")); String dynaXpath_1; ArrayList<WebElement> column_Values_Elements_1 = new ArrayList<WebElement>(); ArrayList<WebElement> column_Values_Elements_2 = new ArrayList<WebElement>(); //ArrayList<String> column_Values=new ArrayList<>(); post_Page_TableData_1 = new HashMap<Integer, ArrayList<String>>(); post_Page_TableData_2 = new HashMap<Integer, ArrayList<String>>(); if (i < no_OfPages) { for (int j = 2; j <= no_Of_Rows.size(); j++) { if (j == no_Of_Rows.size() - 3) { ArrayList<String> column_Values_dummy = new ArrayList<String>(); column_Values_dummy.add("ByPass"); post_Page_TableData_1.put(j, column_Values_dummy); } else { dynaXpath_1 = "(//body[@onunload='onUnload()']/div/div/div)[" + j + "]/*/nobr"; ArrayList<String> column_Values_post_1 = new ArrayList<String>(); column_Values_Elements_1 = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath_1)); if (column_Values_Elements_1.size() > 0) { for (int k = 0; k < column_Values_Elements_1.size(); k++) { column_Values_post_1.add(k, column_Values_Elements_1.get(k).getText()); } } post_Page_TableData_1.put(j, column_Values_post_1); //column_Values.clear(); } } post_Pages_Data.put(i, post_Page_TableData_1); } if (i == no_OfPages) { for (int j = 2; j <= no_Of_Rows.size() - 1; j++) { dynaXpath_1 = "//body[@onunload='onUnload()']/div/div/div[" + j + "]/*/nobr"; ArrayList<String> column_Values_post_2 = new ArrayList<String>(); column_Values_Elements_2 = (ArrayList<WebElement>) driver .findElements(By.xpath(dynaXpath_1)); if (column_Values_Elements_2.size() > 0) { for (int k = 0; k < column_Values_Elements_2.size(); k++) { column_Values_post_2.add(k, column_Values_Elements_2.get(k).getText()); } } post_Page_TableData_2.put(j, column_Values_post_2); //column_Values.clear(); } post_Pages_Data.put(i, post_Page_TableData_2); } if (i <= 3 || i > no_OfPages - 3) { report.updateTestLog("Post Report " + postReportName, "Page No" + i, Status.PASS); //System.out.println("Post Page data for page number: "+i+ " is : " +post_Pages_Data.get(i)); } driver.switchTo().defaultContent(); driver.switchTo().frame(driver.findElement(By.id("acFileExplorer"))); folderFrame = driver.findElement(By.xpath("//frame[@name='main']")); driver.switchTo().frame(folderFrame); driver.switchTo().frame(driver.findElement(By.id("toolbarframe"))); driver.findElement(By.linkText("Next")).click(); driver.switchTo().defaultContent(); waitForElement(driver, By.id("acFileExplorer"), 2000); } report.updateTestLog("Storing Data", "Data has been stored for Pre and post reports", Status.PASS); System.out.println("Post Data is : " + post_Pages_Data); //compareHeaders(); comparePreandPost(pre_reportData, post_Pages_Data); } else { report.updateTestLog("Post Report Navigation", "Not able to find Report Folder", Status.FAIL); } } else { report.updateTestLog("Post Report Folder Navigation", "Not able to find Post Report Folder structure", Status.FAIL); } } catch (Exception e) { System.out.println("in post block"); System.out.println("Exception is :" + e); } }
From source file:ch.admin.isb.hermes5.common.AbstractPageDriver.java
License:Apache License
public WebElement findElementByLinkText(String linkText) { return findElement(By.linkText(linkText)); }
From source file:ch.hearc.arcgames.tests.AdminSecurityTest.java
@Test public void nonAdminTryAccessAdminPages() throws Exception { // Non-admin user login informations String username = "nonAdmin"; String passwd = "nonAdminPassword"; // We open the web app driver.get(baseUrl + "/ArcGames/"); // Login as non-admin login(username, passwd);/*from ww w.ja va 2s . c om*/ // Try to access non-allowed admin pages for (String page : adminUrlList) { String adminUrl = baseUrl + page; driver.get(adminUrl); assertNotEquals(driver.getCurrentUrl(), adminUrl); } // Logout driver.findElement(By.linkText("logout")).click(); }
From source file:ch.hearc.arcgames.tests.AdminSecurityTest.java
@Test public void adminAccessAdminPages() throws Exception { // Non-admin user login informations String username = "Admin"; String passwd = "123456"; // We open the web app driver.get(baseUrl + "/ArcGames/"); // Login as admin login(username, passwd);// w w w . j a v a2 s . c om // Try to access non-allowed admin pages for (String page : adminUrlList) { String adminUrl = baseUrl + page; driver.get(adminUrl); assertEquals(driver.getCurrentUrl(), adminUrl); } // Logout driver.findElement(By.linkText("logout")).click(); }
From source file:ch.hearc.arcgames.tests.AdminSecurityTest.java
private void login(String username, String passwd) { driver.findElement(By.linkText("Log in")).click(); driver.findElement(By.id("j_idt19:login")).clear(); driver.findElement(By.id("j_idt19:login")).sendKeys(username); driver.findElement(By.id("j_idt19:passwd")).clear(); driver.findElement(By.id("j_idt19:passwd")).sendKeys(passwd); driver.findElement(By.id("j_idt19:submit")).click(); }