Example usage for org.openqa.selenium By id

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

Introduction

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

Prototype

public static By id(String id) 

Source Link

Usage

From source file:businesscomponents.ReportcomparisonComponents1.java

public void getPostReportValues() throws InterruptedException {
    By by = By.id("acFileExplorer");
    waitForElement(driver, by, 3000);// ww w.ja va 2 s . com
    driver.switchTo().frame(driver.findElement(By.id("acFileExplorer")));
    WebElement folderFrame = driver.findElement(By.xpath("//frame[@name='main']"));
    driver.switchTo().frame(folderFrame);
    driver.findElement(By.xpath("//a[contains(@href,'Sox2015')]")).click();
    driver.switchTo().defaultContent();
    driver.switchTo().frame(driver.findElement(By.id("acFileExplorer")));
    WebElement documentsFrame = driver.findElement(By.xpath("//frame[@name='main']"));
    driver.switchTo().frame(documentsFrame);
    driver.findElement(By.xpath("//a[contains(@href,'/Sox2015/MRF200_SOX15.ROI;1')]")).click();
    driver.switchTo().frame(driver.findElement(By.id("toolbarframe")));
    String noOfPages = driver
            .findElement(By.xpath("//input[@name='editThis']/parent::td/following-sibling::td/font")).getText()
            .trim();
    noOfPages = noOfPages.substring(3, noOfPages.length());
    int intPostPageNo1;
    intPostPageNo1 = Integer.parseInt(noOfPages);
    intPostPageNo = intPostPageNo1;
    ArrayList<String> currentReportValues = new ArrayList<String>();
    driver.switchTo().defaultContent();

    for (int i = 0; i < intPostPageNo; i++) {
        driver.switchTo().frame(driver.findElement(By.id("acFileExplorer")));
        driver.switchTo().frame(driver.findElement(By.name("main")));
        driver.switchTo().frame(driver.findElement(By.id("reportframe")));
        currentReportValues = mObj.getAllValuesFromPage2();
        driver.switchTo().defaultContent();
        driver.switchTo().frame(driver.findElement(By.id("acFileExplorer")));
        driver.switchTo().frame(driver.findElement(By.name("main")));
        driver.switchTo().frame(driver.findElement(By.id("toolbarframe")));
        driver.findElement(By.name("button4")).click();
        driver.switchTo().defaultContent();
        page.add(currentReportValues);

    }

    Postpages.add(page);

}

From source file:businesscomponents.ReportcomparisonComponents1.java

public void completeReportComparison1() throws Exception {
    Thread.sleep(1000);/*  w  w w  . j  av a  2 s  . com*/
    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);/*w ww.  j av a 2s  .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);/*  ww w  .jav a  2  s  . c  o 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:ca.nrc.cadc.search.integration.AbstractSearchFormPage.java

License:Open Source License

void clearInputValue(final String inputID) throws Exception {
    final WebElement inputElement = find(By.id(inputID));

    if (inputElement.isDisplayed()) {
        sendKeys(inputElement, "");
        hideInputField(inputID);/*from   ww  w  .  j  a v  a 2 s.  c  o m*/
    } else {
        throw new IllegalStateException("Input element " + inputID + " is not displayed.");
    }
}

From source file:ca.nrc.cadc.search.integration.AbstractSearchFormPage.java

License:Open Source License

void hideInputBox(final String inputID) throws Exception {
    click(By.xpath(String.format(CONTENT_LOCATOR_XPATH, (inputID + "_details"))));
    waitForElementInvisible(By.id(inputID));
}

From source file:ca.nrc.cadc.search.integration.AbstractSearchFormPage.java

License:Open Source License

/**
 * Ensure the field is open./*from  w  w  w  .j  a  v a  2  s. c om*/
 *
 * @param inputID The String ID locator.
 * @throws Exception Any error.
 */
void showInputField(final String inputID) throws Exception {
    final WebElement element = find(By.id(inputID + "_details"));

    if (!find(By.id(inputID)).isDisplayed()) {
        // show the input box
        click(element);
    }
}

From source file:ca.nrc.cadc.search.integration.AbstractSearchFormPage.java

License:Open Source License

/**
 * Ensure the field is open./*from   ww w .  j a v  a  2s  .c  om*/
 *
 * @param inputID The String ID locator.
 * @throws Exception Any error.
 */
void hideInputField(final String inputID) throws Exception {
    final WebElement element = find(By.id(inputID + "_details"));

    if (find(By.id(inputID)).isDisplayed()) {
        // show the input box
        click(element);
    }
}

From source file:ca.nrc.cadc.search.integration.CAOMSearchFormPage.java

License:Open Source License

/**
 * Constructors need to be public for reflection to find them.
 *
 * @param driver        WebDriver instance.
 * @throws Exception        Any errors./*  ww  w  .  ja  v  a  2s  .c om*/
 */
public CAOMSearchFormPage(final WebDriver driver) throws Exception {
    super(driver, DEFAULT_TIMEOUT_IN_SECONDS);

    waitForElementPresent(DATA_TRAIN_LOCATOR);
    waitForElementPresent(DATA_TRAIN_COLLECTION_MENU);
    waitForElementPresent(TARGET_INPUT);
    waitForElementPresent(By.id(SPECTRAL_COVERAGE_INPUT_ID));
    waitForElementPresent(By.id(OBSERVATION_DATE_INPUT_ID));
    waitForElementPresent(SSOIS_LINK_BY);
    waitForElementPresent(By.id("Observation.observationID"));

    PageFactory.initElements(driver, this);

    defaultMAQToggleFlag = isMAQEnabled()
            && Boolean.parseBoolean(findMAQToggleSwitch().findElement(MAQ_CHECKBOX_BY).getAttribute("value"));
}

From source file:ca.nrc.cadc.search.integration.SearchResultsPage.java

License:Open Source License

void includeHiddenColumn(final String uType) throws Exception {
    click(gridContainer.findElement(CHANGE_COLUMNS_BY));
    waitForElementVisible(CHANGE_COLUMNS_POPUP_BY);
    waitForElementPresent(CHANGE_COLUMNS_AVAILABLE_COLUMNS_LIST_BY);

    final WebElement changeColumnsPopupElement = find(CHANGE_COLUMNS_POPUP_BY);
    final WebElement availableColumnsListElement = changeColumnsPopupElement
            .findElement(CHANGE_COLUMNS_AVAILABLE_COLUMNS_LIST_BY);
    final WebElement selectedColumnsListElement = changeColumnsPopupElement
            .findElement(CHANGE_COLUMNS_SELECTED_COLUMNS_LIST_BY);
    final String listItemID = "ITEM_" + uType;
    final String listItemSelector = "#" + listItemID;

    final WebElement listItem = availableColumnsListElement.findElement(By.id(listItemID));
    scrollIntoView(listItem);/*from   w ww  .  j av  a  2 s.  com*/
    waitForElementVisible(listItem);

    if (listItem == null) {
        throw new RuntimeException("Unable to locate list item in change columns for " + listItemSelector);
    } else {
        // check that the drag-and-drop changed the ordinal of the column
        (new Actions(driver)).dragAndDrop(listItem, selectedColumnsListElement).perform();
        waitForElementVisible(selectedColumnsListElement.findElement(By.id(listItemID)));
        click(changeColumnsPopupElement.findElement(By.id("column_manager_close")));
    }
}