Hi , In this post - I'm writing my learning experiences on various methods of "WebElement" interface.
Watch the below ~1 min video for end-to-end execution
getText()
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.
<bxpath="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);
- 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
<inputid="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() 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() method returns the current value of a given attribute as a string.
<inputid="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"));
- 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;
importjava.util.concurrent.TimeUnit;
importorg.openqa.selenium.By;
importorg.openqa.selenium.PageLoadStrategy;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.chrome.ChromeDriver;
importorg.openqa.selenium.chrome.ChromeDriverService;
importorg.openqa.selenium.chrome.ChromeOptions;
publicclassWebElementInterfaceMethodsDemo{
publicstaticvoidmain(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();
}
}