XPath is a full programming language.
In Selenium Automation, we are going to use XPath to parse the HTML code of any web page and find out the XPath path for identifying or locating the elements on the web page.
1. Launch Selenium IDE from the Firefox Browser -> Tools Menu
2. Ensure that the record option on the Selenium IDE is turned on by default
3. Open http://book.theautomatedtester.co.uk in the Firefox Browser
4. Click on the 'Chapter2' link as shown below:
10. Ensure that you have already installed FirePath Addon for FireFire Browser, if not go through the my earlier Post# 5 Install FirePath Addon for FireFox to install it
11. And also go through my earlier Post# 6 How to use Firepath if you don't know how to use Firepath
12. Click on 'Firepath' tab on the FireBug options Pane as shown below:
13. Repeat Steps 6,7 and Observe that XPath locator of the inspected text element is displayed as shown below:
14. Copy the displayed XPath value in the above step
15. Click on the blank space after the existing commands in the Selenium IDE as shown below:
16. Paste the copied XPath locator (i.e. Copied in the step 14) into the Target Text box on the Selenium IDE as shown below: (i.e. paste xpath=[CopiedXpath] )
17. Click on the 'Find' button beside the Target text box to find out whether the inspected text element is getting highlighted in yellow color as shown below: (i.e If the inspected text is getting highlighted in Yellow color on clicking the 'Find' button on the Selenium IDE, it means that selenium is able to find the inspected link using the XPath Locator [ i.e. html/body/div[1] in this example ] )
18. Type 'verifyElementPresent' command into the Command text box on the Selenium IDE as shown below:
19. Click on 'Play the current test' button on the selenium IDE and ensure that the above inspected text (i.e. 'Selenium: Beginners Guide' text in this example ) is verified whether it is present on the page or not and the test in the Selenium IDE is passed as shown in the below video:
Click here to watch the video
Before concluding this post, I would like to let you know that:
In my experience, I've found that most of the UI elements are identified by using the XPath or CSS Selector locators. If you don't find any unique ID value to locate the UI elements, then we have to decide on using XPath or CSS Selector.
XPath Statements or CSS Selectors? Which is preferred ?
XPath statements slow down the tests where as CSS selectors run faster than the equivalent XPath. So CSS Selectors are preferred out of all the available locators if we are not able to locate the UI element using its unique ID property.
Before concluding this post, I would like to let you know that:
In my experience, I've found that most of the UI elements are identified by using the XPath or CSS Selector locators. If you don't find any unique ID value to locate the UI elements, then we have to decide on using XPath or CSS Selector.
XPath Statements or CSS Selectors? Which is preferred ?
XPath statements slow down the tests where as CSS selectors run faster than the equivalent XPath. So CSS Selectors are preferred out of all the available locators if we are not able to locate the UI element using its unique ID property.
Please comment below to feedback or ask questions.
How to identify the elements using the 'CSS' locator will be explained in the next post.
6 comments:
Hi Arun, Can you pls let me know what is meant by xpath. Why is it used?
Thanks
@pns - XPath is a full programming language.
In Selenium Automation, we are going to use XPath to parse the HTML code of any web page and find out the XPath path for identifying or locating the elements on the web page.
Hi Arun,
Very nice and useful posts!
I am new to Selenium and want to learn with good knowledge so that I can add in resume.
Can you please tell me details about various commands like which command to use where and what parameters to provide in target?
For ex: when to use verifyElementPresent and verifySelectOptions commands and which parameters can i pass in target for above commands.
Thanks.
I Appreciate your hard work .. Thank you so much..
@MS - Dont learn any commands like verifyElementPresent, verifySelectOptions as no one remembers them. I have used them here to make you understand how XPath can be used to locate elements.
Hi Arun,
Thanks for the Wonderful tutorial. I am new to selenium however through Your blog i am able to learn Selenium very Efficiently. Thanks a lot. :)
I am using Selenium IDE 2.9.1 where i can find Select button next to Find button. Could you please tell me what is the functionality of this button and when and where it could be used.I have practiced all the locators of Selenium IDE as explained in your blog but didn't get to know as when and where it could be used.
Post a Comment