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.
<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);
- 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() 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.
<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"));
- 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(); } }
No comments:
Post a Comment