Example usage for org.openqa.selenium By partialLinkText

List of usage examples for org.openqa.selenium By partialLinkText

Introduction

In this page you can find the example usage for org.openqa.selenium By partialLinkText.

Prototype

public static By partialLinkText(String partialLinkText) 

Source Link

Usage

From source file:scormADL2004.java

License:Open Source License

public void launchTestPackage(String testPackageName) {
    // Check to see which user should launch the package.
    checkLoginSession();//w ww.  ja  v  a 2 s  . com
    driver.switchTo().window("moodleWindow");
    wait.until(presenceOfElementLocated(By.xpath("//*[contains(.,'Recent activity')]")));
    if (testPackageName.equalsIgnoreCase("DDM")) {
        driver.findElement(By.partialLinkText(testPackageName + "a SCORM package")).sendKeys(Keys.ENTER);
    } else {
        driver.findElement(By.partialLinkText(testPackageName + " SCORM package")).sendKeys(Keys.ENTER);
    }
    // Workaround for WebDriver bug, Seleniu, IE.
    wait.until(presenceOfElementLocated(By.id("page-footer")));
    // Refresh Driver to crawl page again.
    driver.switchTo().window("moodleWindow");
    if (isElementPresent(By.id("n"))) {
        WebElement element = driver.findElement(By.id("n"));
        element.click();
        element.submit();
        //driver.findElement(By.xpath("//input[@value='Enter']")).click();
    }
}

From source file:scormADL2004.java

License:Open Source License

/**
 * Handle / Launches test packages in order they are specified.
 * @param String[] testsToExecute//ww w . j  a  v a 2 s.  c  o  m
 */
public void testsHandler(String[] testsToExecute) {
    if (testsToExecute[0] == "") {
        // No tests uploaded
        throw new NullPointerException("No specified tests found or uploaded.");
    }
    initialiseTestSuite(testsToExecute);
    driver.switchTo().window("");
    driver.switchTo().frame("currentInstructions");
    wait.until(presenceOfElementLocated(By.xpath("//*[contains(.,'Login to the LMS')]")));
    // Check if current user login is the required user logged in
    checkLoginSession();
    driver.switchTo().window("moodleWindow");
    // Wait till Page completely loads - Selenium Bug
    wait.until(presenceOfElementLocated(By.xpath("//*[contains(.,'Recent activity)]")));
    for (int i = 0; i < testsToExecute.length; i++) {
        System.out.println("Testing ADL SCORM 2004 " + testsToExecute[i] + " package...");
        launchTestPackage(testsToExecute[i]);
        //switch cannot compare string
        // TODO add handle for CM-01 Test
        if (testsToExecute[i].equalsIgnoreCase("CM-01")) {
            handleCM01Test();
        }
        // default case
        else {
            defaultSCOHandler();
        }
        driver.switchTo().window("moodleWindow");
        driver.findElement(By.linkText("Exit activity")).click();
        wait.until(presenceOfElementLocated(By.partialLinkText(testsToExecute[i] + " SCORM package")));
        driver.switchTo().window("");
        driver.switchTo().frame("controls");
        wait.until(presenceOfElementLocated(By.id("continue")));
        driver.findElement(By.id("continue")).sendKeys(Keys.ENTER);
    }
    driver.findElement(By.linkText("Logout")).click();
    System.out.println("Tested All Packages. The Script will now exit.");
}

From source file:AndroidRemoteDriverTest.java

/**
 * @param args the command line arguments
 *//*  w  ww  . j a  va  2s  .c om*/
public static void main(String[] args) {

    AndroidRemoteWebDriver driver = new AndroidRemoteWebDriver("ws://localhost:9222/devtools/page/4");
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.get("http://www.google.com");
    Utils.sleep(2000);
    WebElement elm = driver.findElement(By.name("q"));
    Utils.sleep(2000);
    elm.sendKeys(" // \\ ' * [@id=\"rg_s\"]/div[1]/a ");
    elm.submit();
    //Utils.sleep(2000);
    elm = driver.findElement(By.partialLinkText("Images"));
    elm.click();
    Utils.sleep(2000);
    elm = driver.findElement(By.xpath("//*[@id=\"rg_s\"]/div[1]/a"));
    elm.click();
    Utils.sleep(2000);
    System.out.println("Page source :/n" + driver.getPageSource());

}

From source file:backend.MakeUserTest.java

@Test(description = "open user panel", priority = 1)
public void openUserPage() {
    driver.findElement(By.partialLinkText("Admin")).click();
    driver.findElement(By.partialLinkText("Users")).click();
    WebDriverWait wait = new WebDriverWait(driver, 10);
    WebElement elementButton = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(
            "//span[@onclick=\"dialog.formDialog(null,'person', { refresh : 'detailTable_person'}, {})\"]")));
}

From source file:backend.MakeUserTest.java

@Test(description = "create user", priority = 2, dependsOnMethods = { "openUserPage" })
public void makeUser() {
    WebDriverWait wait = new WebDriverWait(driver, 10);
    driver.findElement(By.xpath(/*from ww w.  j  ava2 s .c  om*/
            "//span[@onclick=\"dialog.formDialog(null,'person', { refresh : 'detailTable_person'}, {})\"]"))
            .click();
    WebElement elementUsername = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("username")));
    textInput("username", "testUser123");
    textInput("userRealName", "test user");
    textInput("givenName", "test");
    textInput("familyName", "user");
    textInput("email", "testuser@gmail.com");
    driver.findElement(By.partialLinkText("Password")).click();
    WebElement elementPassword = wait
            .until(ExpectedConditions.visibilityOfElementLocated(By.id("newPassword")));
    textInput("newPassword", "test123");
    textInput("newPassword2", "test123");
    driver.findElement(By.xpath("//span[text()='OK']")).click();
    WebElement elementButton = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(
            "//span[@onclick=\"dialog.formDialog(null,'person', { refresh : 'detailTable_person'}, {})\"]")));
}

From source file:beseenium.model.action.findElementsBy.FindElementsByPartialLinkTxt.java

License:Open Source License

/**
 * performs the find elements by partial link text action.
 * @param n the index of the element to find information on, i.e. if 3 results are found
 * the 0 will be the first element 1 the second and so on. will get an array out of bounds.
 * If you wish the action to return all of the results found then set n = -1.
 * @return String representation of the returnParam set in the ActionData object
 * passed into the constructor.//from w  w  w. j a v a2 s.  c o  m
 * @throws ActionDataException  
 */
@Override
public String execute(int n) throws ActionDataException {
    String searchParam = super.context.getInputParam();
    WebDriver browser = super.context.getDriver();
    List<WebElement> htmlElements = browser.findElements(By.partialLinkText(searchParam));

    super.context.setElement(htmlElements);

    return FormatOutput.formatFindElementOutput(htmlElements, n);
}

From source file:businesscomponents.ReportcomparisonComponents1.java

public void completeReportComparisonNew() throws Exception {
    Thread.sleep(1000);/*from  w ww.j a va  2  s  .  c o  m*/
    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);// w w w  . j  a v a2 s .  com
    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:co.edu.uniandes.csw.SportGroup.web.test.SportClubIT.java

@Test
@RunAsClient/*  w  ww .  j  a va2s  .  co  m*/
public void t1createCountry() throws InterruptedException {
    Thread.sleep(1500);
    boolean success = false;
    driver.findElement(By.partialLinkText("Country")).click();
    Thread.sleep(3000);
    driver.findElement(By.id("createBtn")).click();
    Thread.sleep(2000);
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys("Colombia");
    driver.findElement(By.id("population")).clear();
    driver.findElement(By.id("population")).sendKeys("80000000");
    driver.findElement(By.id("saveBtn")).click();
    Thread.sleep(2000);
    List<WebElement> rows = driver.findElements(By.xpath("//table[contains(@id,'recordList')]/tbody/tr"));
    for (WebElement webElement : rows) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        if (elems.get(0).getText().equals("Colombia") && elems.get(1).getText().equals("80000000")) {
            success = true;
        }
    }
    assertTrue(success);
    Thread.sleep(1000);
}

From source file:co.edu.uniandes.csw.SportGroup.web.test.SportClubIT.java

@Test
@RunAsClient//from   w  w w . ja  v a2s. c o  m
public void t2createSport() throws Exception {
    boolean success = false;
    driver.findElement(By.partialLinkText("Sport")).click();
    Thread.sleep(3000);
    driver.findElement(By.id("createBtn")).click();
    Thread.sleep(2000);
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys("Futbol");
    driver.findElement(By.id("minAge")).clear();
    driver.findElement(By.id("minAge")).sendKeys("3");
    driver.findElement(By.id("maxAge")).clear();
    driver.findElement(By.id("maxAge")).sendKeys("90");
    driver.findElement(By.id("rules")).clear();
    driver.findElement(By.id("rules")).sendKeys("No rules");
    Select contries = new Select(driver.findElement(By.id("country")));
    contries.selectByVisibleText("Colombia");
    driver.findElement(By.id("saveBtn")).click();
    Thread.sleep(3000);
    List<WebElement> rows = driver.findElements(By.xpath("//table[contains(@id,'recordList')]/tbody/tr"));
    for (WebElement webElement : rows) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        if (elems.get(0).getText().equals("Futbol") && elems.get(5).getText().equals("Colombia")) {
            success = true;
        }
    }
    assertTrue(success);
    Thread.sleep(1000);
}