Java tutorial
//////////////////////////////////////////////////////////////////////// // // Copyright (c) 2009-2013 Denim Group, Ltd. // // The contents of this file are subject to the Mozilla Public License // Version 2.0 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://www.mozilla.org/MPL/ // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations // under the License. // // The Original Code is ThreadFix. // // The Initial Developer of the Original Code is Denim Group, Ltd. // Portions created by Denim Group, Ltd. are Copyright (C) // Denim Group, Ltd. All Rights Reserved. // // Contributor(s): Denim Group, Ltd. // //////////////////////////////////////////////////////////////////////// package com.denimgroup.threadfix.selenium.pages; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.Select; public class WafRulesPage extends BasePage { private WebElement nameText; private WebElement wafTypeText; private WebElement editLink; private WebElement lastItemFoundInApplicationsTableBodyLink; private WebElement deleteButton; public WafRulesPage(WebDriver webdriver) { super(webdriver); nameText = driver.findElementById("nameText"); wafTypeText = driver.findElementById("wafTypeText"); } public String getNameText() { return nameText.getText(); } public String getWafTypeText() { return wafTypeText.getText(); } public WafEditPage clickEditLink() { editLink.click(); return new WafEditPage(driver); } public WafRulesPage clickGenerateWafRulesButton() { driver.findElementById("generateWafRulesButton").click(); return new WafRulesPage(driver); } public TeamIndexPage clickDownloadWafRulesButton() { driver.findElementById("downloadWafRulesButton").click(); return new TeamIndexPage(driver); } public boolean isTextPresentInApplicationsTableBody(String text) { if (isElementPresent("applicationsTableBody")) { for (WebElement element : driver.findElementById("applicationsTableBody") .findElements(By.xpath(".//tr/td/a"))) { if (element.getText().contains(text)) { lastItemFoundInApplicationsTableBodyLink = element; return true; } } } return false; } public ApplicationDetailPage clickTextLinkInApplicationsTableBody(String text) { if (isTextPresentInApplicationsTableBody(text)) { lastItemFoundInApplicationsTableBodyLink.click(); return new ApplicationDetailPage(driver); } else { return null; } } public WafIndexPage clickDeleteButton() { deleteButton.click(); Alert alert = driver.switchTo().alert(); alert.accept(); return new WafIndexPage(driver); } public WafRulesPage clickDeleteButtonInvalid() { deleteButton.click(); Alert alert = driver.switchTo().alert(); alert.accept(); return new WafRulesPage(driver); } public String getWafDirectiveSelect() { return new Select(driver.findElementById("wafDirectiveSelect")).getFirstSelectedOption().getText(); } public WafRulesPage setWafDirectiveSelect(String code) { new Select(driver.findElementById("wafDirectiveSelect")).selectByVisibleText(code); return new WafRulesPage(driver); } }