@Test public void test() { // find a wish list wd.get(baseURL); wd.findElementByXPath(".//*[@id='term']").sendKeys("*****@*****.**"); wd.findElementByXPath(".//*[@id='wish_list']/div[3]/div/form/fieldset[2]/input").click(); wd.findElementByXPath(("//input[starts-with(@id,'safe_place_for_courier')]")) .sendKeys("home"); // use when there are dynamic elements on the page wd.findElementByXPath("//*[@id='add_to_cart']").click(); WebElement checkoutmodal = wait.until( ExpectedConditions.visibilityOfElementLocated( By.xpath("//*[@id='shopping_buttons']/a[2]"))); checkoutmodal.click(); // proceed to checkout wd.findElementByXPath(".//*[@id='edit_cart']/section[2]/div/div[2]/span/button").click(); // welcome page WebElement signinemail = wd.findElementByXPath("//*[@id='email']"); if (signinemail.isEnabled()) signinemail.sendKeys("*****@*****.**"); WebElement signinpassword = wd.findElementByXPath("//*[@id='password']"); if (signinpassword.isEnabled()) signinpassword.sendKeys("logmein1"); wd.findElementById("button_existing_customer").click(); // Delivery wd.findElementById("button_continue").click(); // Payment flow choice (QA only) wd.findElementByXPath(".//*[@id='content']/form/input").click(); // Payment page wd.findElementByXPath(".//*[@id='payment_medium_payment_form_credit_card']").click(); // Payment form wait.until( ExpectedConditions.visibilityOfElementLocated( By.id("checkout_credit_card_attributes_type"))); new Select(wd.findElementById("checkout_credit_card_attributes_type")) .selectByVisibleText("Visa Debit or Electron"); wd.findElementById("checkout_credit_card_attributes_number").sendKeys("4263971921001307"); wd.findElementById("checkout_credit_card_attributes_name").sendKeys("Hans Peter Luhn"); new Select(wd.findElementById("checkout_credit_card_attributes_expiry_month")) .selectByVisibleText("6"); new Select(wd.findElementById("checkout_credit_card_attributes_expiry_year")) .selectByVisibleText("2018"); wd.findElementById("checkout_credit_card_attributes_verification_value").sendKeys("737"); // Skip 3DS wd.findElementById("checkout_skip_3d_secure").click(); wd.findElementByXPath("//*[@id='process_payment_button']").click(); wd.close(); }
@Test public void testStateElement() { ElementLocator locator = mock(ElementLocator.class); when(locator.findElement()).thenReturn(element1); WebElement webElement = LocatorProxies.createWebElement(locator); assertThat(LocatorProxies.present(webElement)).isTrue(); webElement.isEnabled(); when(element1.isEnabled()).thenThrow(StaleElementReferenceException.class); assertThat(LocatorProxies.present(webElement)).isFalse(); reset(element1); when(element1.isEnabled()).thenThrow(StaleElementReferenceException.class); assertThatThrownBy( new ThrowableAssert.ThrowingCallable() { @Override public void call() throws Throwable { webElement.isEnabled(); } }) .isExactlyInstanceOf(StaleElementReferenceException.class); verify(element1, times(6)).isEnabled(); }
/** * Case ID:77777. Test Case Name: Can't share an empty message. Created by chinhdt at 2013/12/16 * 09:28:17 */ @Test public void test01_CantShareAnEmptyMessage() { info("Test 1: Can't share an empty message"); /*Declare variables*/ String text1 = " "; String text2 = "Test case1"; /* Step 1: Don't type in shared activity box */ // - Connect to Intranet // - Click in the composer input box, don't type info("----Add text into activity text box-----"); WebElement inputText = waitForAndGetElement(home.ELEMENT_ACTIVITY_TEXTBOX); WebElement shareButton = waitForAndGetElement(ELEMENT_SHARE_BUTTON); Assert.assertEquals(shareButton.isEnabled(), false); /*Step 2: Input space characters into shared activity box */ // - Input space characters into shared activity box ((JavascriptExecutor) driver) .executeScript("arguments[0].textContent = '" + text1 + "';", inputText); Assert.assertEquals(shareButton.isEnabled(), false); /* Step 3: Input letters into shared activity box */ // - in put "a" character type(ELEMENT_ACTIVITY_WHAT_ARE_YOU_WORKING_LABEL, " ", false); type(home.ELEMENT_ACTIVITY_TEXTBOX, text2, false); Utils.pause(1000); Assert.assertEquals(shareButton.isEnabled(), true); info("-- Verify Share button --"); }
public TeamsPage addMemberInTeam(String nameMember, String email) { clickAddMembersBtn(); setEmailMembers(email); if (selectAddForm.isDisplayed() && selectAddForm.isEnabled()) { clickMemberOptions(); clickIconClose(); } else if (fullNameForm.isDisplayed() && fullNameForm.isEnabled()) { setNameInvite(nameMember); clickSendInvitedMember(); } return this; }
/** * Verifies Alias input as follows Stores current alias for future Checks error message for more * than 20 characters Alias Checks error message for special characters Alias Checks confirm * button disabled for blank/current alias Reverts alias to previous value * * @param validationMessage */ public void verifyAliasInputFieldValidations(HashMap<String, String> validationMessage) { clickChangeAliasButton(); // Store the current Alias String currentAlias = OldAliasInput.getAttribute("value"); // Enter a new alias String NewAlias = Helper.generateRandomAlphabetsString(6); Element.enterData(testConfig, NewAliasInput, NewAlias, "New Alias Input"); Element.click(testConfig, uploadAndProcess, "Submit Alias Changes"); verifyNotificationText(validationMessage.get("AliasChangeSuccessful")); clickChangeAliasButton(); // Verify alias was changed Helper.compareEquals( testConfig, "Old Alias Value", NewAlias, OldAliasInput.getAttribute("value")); // More than 20 characters Element.enterData( testConfig, NewAliasInput, Helper.generateRandomAlphaNumericString(30), "New Alias Input"); Element.click(testConfig, uploadAndProcess, "Submit Alias Changes"); Element.waitForElementDisplay(testConfig, ErrorMessageOnPopUp); Helper.compareEquals( testConfig, "Error Message", validationMessage.get("LongAliasErrorMessage"), ErrorMessageOnPopUp.getText()); // Special Characters Element.enterData(testConfig, NewAliasInput, "!@##$$$$", "New Alias Input"); Element.click(testConfig, uploadAndProcess, "Submit Alias Changes"); Helper.compareEquals( testConfig, "Error Message", validationMessage.get("SpecialCharacterInAliasErrorMessage"), ErrorMessageOnPopUp.getText()); // Existing Alias String ExistingAlias = OldAliasInput.getAttribute("value"); Element.enterData(testConfig, NewAliasInput, ExistingAlias, "New Alias Input"); Helper.compareTrue(testConfig, "Confirm button is disabled", (!uploadAndProcess.isEnabled())); // Blank Value Element.enterData(testConfig, NewAliasInput, "", "New Alias Input"); Helper.compareTrue(testConfig, "Confirm button is disabled", (!uploadAndProcess.isEnabled())); // Enter Older value of alias and save changes Element.enterData(testConfig, NewAliasInput, currentAlias, "New Alias Input"); Element.click(testConfig, uploadAndProcess, "Submit Alias Changes"); verifyNotificationText(validationMessage.get("AliasChangeSuccessful")); }
public boolean isCurrentlyEnabled() { try { return webElement.isEnabled(); } catch (NoSuchElementException e) { return false; } catch (StaleElementReferenceException se) { return false; } }
private WebElement findElement(final By locator) { (new WebDriverWait(driver, 30, 1000)) .until(ExpectedConditions.presenceOfElementLocated(locator)); (new WebDriverWait(driver, 30, 1000)) .until(ExpectedConditions.visibilityOfElementLocated(locator)); WebElement element = driver.findElement(locator); if (element.isEnabled() == false) ((JavascriptExecutor) driver).executeScript("arguments[0].disabled = false", element); return element; }
@Override public void type(String locator, String value) { WebElement webElement = getWebElement(locator); if (webElement.isEnabled()) { webElement.clear(); webElement.sendKeys(value); } }
@Test public void checkEnabledOnGoogleSearchBox() { // TODO: Find a sample site that has hidden elements and use it to // verify behavior of enabled and disabled elements. WebDriver d = getDriver(); d.get("http://www.google.com"); WebElement el = d.findElement(By.cssSelector("input[name*='q']")); assertTrue(el.isEnabled()); }
public static void type(WebDriver webDriver, String locator, String value) { WebElement webElement = getWebElement(webDriver, locator); if (!webElement.isEnabled()) { return; } webElement.clear(); webElement.sendKeys(value); }
public void setNonBlockingOpacity(String nonBlockingOpacity) { if (!nonBlockingOpacityInput.isEnabled()) { throw new IllegalStateException("The input for setting non blocking opacity is disabled."); } if (!nonBlockingOpacity.startsWith("0")) { throw new IllegalArgumentException("The opacity has to start with '0'."); } nonBlockingOpacityInput.click(); nonBlockingOpacityInput.clear(); nonBlockingOpacityInput.sendKeys(nonBlockingOpacity.substring(1)); }
protected static void clickButton(WebElement button) throws InvalidElementStateException { if (!button.getAttribute("type").contentEquals("submit") || !button.getTagName().toLowerCase().contentEquals("input")) { throw new InvalidElementStateException("This web element is not a button input!"); } // we may wanna check if it is displayed and enabled, when performing actions. if (button.isDisplayed() && button.isEnabled()) { button.click(); } else { throw new InvalidElementStateException( "Button by " + button.getAttribute("id") + " is disabled or not displayed!"); } }
@SuppressWarnings("finally") public static boolean isElementPresent(WebDriver driver, By by) throws InterruptedException { for (int second = 0; second < 30; second++) { try { WebElement e = driver.findElement(by); if (null != e && (e.isDisplayed() || e.isEnabled())) return true; } catch (Exception e) { continue; } finally { Thread.sleep(500); } } return false; }
protected static void setCheckCheckBoxState(WebElement checkBox, boolean checked) throws InvalidElementStateException { if (!checkBox.getAttribute("type").contentEquals("checkbox") || !checkBox.getTagName().toLowerCase().contentEquals("input")) { throw new InvalidElementStateException("This web element is not a checkbox!"); } // we may wanna check if it is displayed and enabled, when performing actions. if (checkBox.isDisplayed() && checkBox.isEnabled()) { if (checkBox.isSelected() != checked) { checkBox.click(); } } else { throw new InvalidElementStateException( "Checkbox by " + checkBox.getAttribute("id") + " is disabled!"); } }
protected void doSimpleExplore(BrowserWebDriverContainer rule) { RemoteWebDriver driver = setupDriverFromRule(rule); driver.get("http://en.wikipedia.org/wiki/Randomness"); loop: for (int i = 0; i < 5; i++) { Random random = new Random(); List<WebElement> webElements = driver.findElements(By.tagName("a")); for (WebElement webElement : webElements) { if (random.nextInt(10) == 0 && webElement.isDisplayed() && webElement.isEnabled()) { webElement.click(); break loop; } } } }
private static void setTextElementText( WebElement textElement, String textInputType, String tag, String value) throws InvalidElementStateException { if (!textElement.getAttribute("type").contentEquals(textInputType) || !textElement.getTagName().toLowerCase().contentEquals(tag)) { throw new InvalidElementStateException("This web element is not a text input!"); } // we may wanna check if it is displayed and enabled, when performing actions. if (textElement.isDisplayed() && textElement.isEnabled()) { textElement.click(); textElement.clear(); textElement.sendKeys(value); } else { throw new InvalidElementStateException( "Text input by " + textElement.getAttribute("id") + " is disabled or not displayed!"); } }
@Test @RunAsClient public void renderFormPortlet() throws Exception { browser.get(portalURL.toString()); assertTrue("Check that page contains output element", outputField.isDisplayed()); assertEquals("Output text set.", Bean.HELLO_JSF_PORTLET, outputField.getText()); assertEquals("Input text set.", Bean.HELLO_JSF_PORTLET, inputField.getAttribute("value")); assertTrue("Submit button is not enabled", submitButton.isEnabled()); assertNotSame( "Submit button onclick attribute should not be blank", "", submitButton.getAttribute("onclick")); }
public String getText(By locator, int seconds) { String product_text = "Not Found"; WebDriverWait wait = new WebDriverWait(driver, seconds); WebElement search = null; try { search = wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(locator))); if (search.isEnabled()) { product_text = search.getText(); } ; } catch (Exception e) { System.out.println("\nElement not found! " + e); } return product_text; }
@Test public void checkLocationAndSizeOfBingSearchBox() { WebDriver d = getDriver(); d.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); d.get("http://www.bing.com"); WebElement searchBox = d.findElement(By.cssSelector("input[name*='q']")); assertTrue( searchBox.getCssValue("color").contains("rgb(0, 0, 0)") || searchBox.getCssValue("color").contains("rgba(0, 0, 0, 1)")); assertEquals("", searchBox.getAttribute("value")); assertEquals("input", searchBox.getTagName()); assertEquals(true, searchBox.isEnabled()); assertEquals(true, searchBox.isDisplayed()); assertTrue(searchBox.getLocation().getX() >= 200); assertTrue(searchBox.getLocation().getY() >= 100); assertTrue(searchBox.getSize().getWidth() >= 350); assertTrue(searchBox.getSize().getHeight() >= 20); }
@Override public void typeKeys(String locator, String value) { WebElement webElement = getWebElement(locator); if (!webElement.isEnabled()) { return; } StringBundler sb = new StringBundler(); sb.append(".*["); Set<String> keysSpecialCharsSet = _keysSpecialChars.keySet(); for (String specialChar : keysSpecialCharsSet) { sb.append("\\"); sb.append(specialChar); } sb.append("]*.*"); if (value.matches(sb.toString())) { char[] chars = value.toCharArray(); for (char c : chars) { String s = String.valueOf(c); if (keysSpecialCharsSet.contains(s)) { webElement.sendKeys(Keys.SHIFT, _keysSpecialChars.get(s)); } else { webElement.sendKeys(s); } } } else { webElement.sendKeys(value); } }
// TODO this requires redesign for writables public static boolean perform(WebHandle handle, WebDriver driver) { WebElement we = handle.findElement(driver); if (we == null) { // TODO this place strongly interferes with driver's implicitly wait. So, I think, personal // fails counter per handle needed. log.error( handle.url.graphUrl() + " | " + handle.xpath + "\n" + "Unable to .perform(WebDriver), cause search of element by stored selector is failed."); return false; } if (!we.isDisplayed() || !we.isEnabled()) { log.error( handle.url.graphUrl() + " | " + handle.xpath + "\n" + "Failed to .perform(WebDriver), cause element not displayed or not enabled."); return false; } switch (handle.eltype) { case clickable: we.click(); break; // case writable: we.sendKeys(context); break; case terminal: if (handle.isRoot()) return true; assert false : "terminal elements was touched"; break; default: assert false : "this shouldn't have happened???"; break; } return true; }
@SuppressWarnings("unchecked") @Override public PeopleFinderPage render(RenderTime timer) { while (true) { timer.start(); synchronized (this) { try { this.wait(100L); } catch (InterruptedException e) { } } try { // Check button is displayed and is not disabled WebElement searchBtn = driver.findElement(SEARCH_BUTTON); if (searchBtn.isEnabled()) { if (hasNoResultMessage()) { break; } if (isVisibleResults()) { break; } // This is the default html content hence it left to last. if (isHelpScreenDisplayed()) { if (!isVisibleResults() && !hasNoResultMessage()) { break; } } } } catch (NoSuchElementException nse) { // Repeat till we see it } finally { timer.end(); } } return this; }
/** * return true if the element is enabled, otherway return false * * @return */ public boolean isEnabled() { return webElement.isEnabled(); }
@Override public boolean isEnabled(WebElement element) { return element.isEnabled(); }
private boolean isDisabledField(WebElement webElement) { return (isAFormElement(webElement) && (!webElement.isEnabled())); }
public boolean isEnabled() { return (webElement != null) && (webElement.isEnabled()); }
public static void main(String[] args) throws InterruptedException { WebDriver driver = new FirefoxDriver(); driver.manage().window().maximize(); String contactUrl = "http://www.testdiary.com/training/selenium/selenium-test-page/"; driver.get(contactUrl); (new WebDriverWait(driver, 10)) .until(ExpectedConditions.visibilityOfElementLocated(By.id("seleniumbox"))); // Declaring a local variable of type "WebElement" to initialize the // value of the webElement (seleniumCheckbox) and webElement // (restCheckbox) WebElement seleniumCheckbox = driver.findElement(By.id("seleniumbox")); WebElement restCheckbox = driver.findElement(By.id("restapibox")); // wait was covered in prvious tutorial (new WebDriverWait(driver, 30)) .until(ExpectedConditions.elementToBeClickable(seleniumCheckbox)); // Declaring a local variable of type "Boolean" to initialize the // value of the webElement (checkSelenium) and webElement (checkRestApi) // Using the isSelected method we check if the check box is selected or // not. Boolean checkSelenium = seleniumCheckbox.isSelected(); Boolean checkRestApi = restCheckbox.isSelected(); // use an if condition to check if boolean returned false // If false then it was not selected // click and select the checkbox if (checkSelenium == false) { seleniumCheckbox.click(); System.out.println("Test has selected Selenium checkbox"); } else { System.out.println("Selenium checkbox was selected on default"); } // Repeat the process for checkRestAapi if (checkRestApi == false) { restCheckbox.click(); System.out.println("Test has selected Rest api checkbox"); } else { System.out.println("Rest Api checkbox was selected on default"); } // Check if Save button is displayed on the WebPage WebElement saveButton = driver.findElement(By.id("demo")); Boolean checkSaveIsDisplayed = saveButton.isDisplayed(); if (checkSaveIsDisplayed == true) { System.out.println("save button is displayed"); } // Check if Save button is not enabled on the WebPage Boolean checkSaveIsEnabled = saveButton.isEnabled(); if (checkSaveIsEnabled == false) { System.out.println("save button is not enabled"); } // Click on a radio button then check if the save button is now enabled WebElement javaRadioButton = driver.findElement(By.id("java1")); (new WebDriverWait(driver, 30)).until(ExpectedConditions.elementToBeClickable(javaRadioButton)); javaRadioButton.click(); // check if it is now enabled checkSaveIsEnabled = saveButton.isEnabled(); if (checkSaveIsEnabled == true) { System.out.println("save button is enabled"); } driver.close(); System.exit(0); }
public boolean isEnabled() { return wrappedElement.isEnabled(); }