Jump to content
We've recently updated our Privacy Statement, available here ×
  • WebElement interface methods examples in selenium - part 1 | Understanding of methods getText(), sendKeys(), clear(), getAttribute() and click() for radio button and check box


    Hi , In this post - I'm writing my learning experiences on various methods of "WebElement" interface.
    practice.png
    Test site courtesy : 

    Watch the below ~1 min video for end-to-end execution 
    getText()
    • getText() method gets you the visible text or inner text of an element. 
    • That is it fetches text between the opening and closing tags. 
    • For instance, the following text between bold tags can be fetched using getText() method.
      <b xpath="1">This is sample text.</b>
    • Store the locator in a Weblement variable and then use getText()
      //getText() example --> locate text "This is sample text." on page and display the text
      WebElement ThisIsSimpleText
      = driver.findElement(By.xpath("//b[contains(text(),'This is sample text.')]"));
      String displayThisIsSimpleText
      = ThisIsSimpleText.getText();
      System
      .out.println(displayThisIsSimpleText);
    sendKeys()
    • This method allows users to enter data into editable elements such as text boxes or search boxes.
    • For instance, first name is a text box input and using sendKeys() method enter input value
      <input id="fname" type="text" name="firstName" xpath="1">
    • Code snippet
      //sendKeys("sadakar") example --> locate TextBox input and enter first name
      WebElement firstName
      = driver.findElement(By.xpath("//input[@id=fname]"));
      firstName
      .sendKeys("Sadakar");
    clear()
    • clear() method clears any text already entered or displayed in text box or search box inputs. 
    • Some applications may use default values in editable forms so clear them before entering new.
    • For instance, clear the already existing text in "first name" text box and enter new value
      //clear() --> clear TextBox input and re-enter first name
      firstName
      .clear();
      firstName
      .sendKeys("Hasini");
    getAttribute("<attribute>")
    • getAttribute() method returns the current value of a given attribute as a string.
      <input id="fname" type="text" name="firstName" xpath="1">
    • id, type, name , xpath and vlaue(not given above statement) are attributes of first name element HTML 
    • For instance, the following snippet for firstname text field fetches the value displayed on the form then the values of the corresponding attributes
      //getAttribute("<attribute>") --> <input id="fname" type="text" name="firstName">
      firstName
      .getAttribute("value");
      System
      .out.println("<input id=\"fname\" type=\"text\" name=\"firstName\">");
      System
      .out.println("Value of value attribute="+firstName.getAttribute("value"));
      System
      .out.println("Value of id attribute="+firstName.getAttribute("id"));
      System
      .out.println("Value of type attribute="+firstName.getAttribute("type"));
      System
      .out.println("Value of name attribute="+firstName.getAttribute("name"));
    Handling radio buttons and check boxes using - click() method
    • Toggling(select or deselect) on/off are the actions performed for radio buttons or check boxes. 
    • Using click() method toggling can be done. 
    • For instance, take a look at the following code snippet - "male" radio button and check boxes for testings labels are selected.
      //radio button click example --> locate "male" radio button and select it
      WebElement male
      = driver.findElement(By.xpath("//input[@id=male]"));
      male
      .click();

      //check box click example - locate "Automation Testing" check box and tick it
      WebElement automationTesting
      = driver.findElement(By.xpath("//input[@class=Automation]"));
      automationTesting
      .click();

      //check box click example - locate "Performance Testing" check box and tick it
      WebElement performanceTesting
      = driver.findElement(By.xpath("//input[@class=Performance]"));
      performanceTesting
      .click();

    Complete java class for above examples: WebElementInterfaceMethodsDemo.java
    package selenium.webelement.methods;

    import java.util.concurrent.TimeUnit;

    import org.openqa.selenium.By;
    import org.openqa.selenium.PageLoadStrategy;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeDriverService;
    import org.openqa.selenium.chrome.ChromeOptions;

    public class WebElementInterfaceMethodsDemo {

    public static void main(String[] args) {

    WebDriver driver
    ;

    //loading Chrome driver from physical drive
    System
    .setProperty("webdriver.chrome.driver", "D:\\006_trainings\\chromedriver.exe");

    System
    .setProperty("webdriver.chrome.silentOutput", "true");
    //System.setProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY, "true");

    //launch the browser
    driver
    = new ChromeDriver();

    //navigate to site
    driver
    .navigate().to("https://www.testandquiz.com/selenium/testing.html");

    //maximize the browser
    driver
    .manage().window().maximize();

    //getText() example --> locate text "This is sample text." on page and display the text
    WebElement ThisIsSimpleText
    = driver.findElement(By.xpath("//b[contains(text(),'This is sample text.')]"));
    String displayThisIsSimpleText
    = ThisIsSimpleText.getText();
    System
    .out.println(displayThisIsSimpleText);

    //sendKeys("sadakar") example --> locate TextBox input and enter first name
    WebElement firstName
    = driver.findElement(By.xpath("//input[@id=fname]"));
    firstName
    .sendKeys("Sadakar");

    //clear() --> clear TextBox input and re-enter first name
    firstName
    .clear();
    firstName
    .sendKeys("Hasini");

    //getAttribute("<attribute>") --> <input id="fname" type="text" name="firstName">
    firstName
    .getAttribute("value");
    System
    .out.println("<input id=\"fname\" type=\"text\" name=\"firstName\">");
    System
    .out.println("Value of value attribute="+firstName.getAttribute("value"));
    System
    .out.println("Value of id attribute="+firstName.getAttribute("id"));
    System
    .out.println("Value of type attribute="+firstName.getAttribute("type"));
    System
    .out.println("Value of name attribute="+firstName.getAttribute("name"));

    //radio button click example --> locate "male" radio button and select it
    WebElement male
    = driver.findElement(By.xpath("//input[@id=male]"));
    male
    .click();

    //check box click example - locate "Automation Testing" check box and tick it
    WebElement automationTesting
    = driver.findElement(By.xpath("//input[@class=Automation]"));
    automationTesting
    .click();

    WebElement performanceTesting
    = driver.findElement(By.xpath("//input[@class=Performance]"));
    performanceTesting
    .click();

    //close the browser
    driver
    .close();

    //close all the browsers opened by WebDriver during execution and quit the session
    driver
    .quit();
    }
    }

    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...