How to Locate Elements in Chrome and IE Browsers for Building Selenium
Scripts Selenium Tutorial #7
This is tutorial #7 in our Selenium Online Training Series. If you want to check all Selenium tutorials in this series please checkthis page. In the previous tutorial, we tried to shed light on various types of locators in Selenium and their locating mechanisms to build test scripts. The tutorial was primary consist of the brief introduction of different locator types like ID, Classes, Xpaths, Link texts, CSS Selectors etc. and their identification. Proceeding ahead with our next tutorial, we would take the opportunity to introduce you with an extension of locating strategies. Thus, in the next tutorial, we would study the mechanism to locate web elements on Google Chrome and Internet Explorer.
As we all are well aware of the fact that there is rapid growth in the internet user base, thus stakeholders and programmers are building web applications which are likely to work on most of the browsers. Thus, imagine a situation where your web application doesnt support Firefox but works well for Chrome and Internet Explorer. Now how are you going to automate such an application using Selenium? Or to be specific how are you going to locate web elements in Chrome and Internet Explorer. Thus the answer lies ahead in this tutorial. Locating Web Elements in Google Chrome Let us begin with understanding the locating strategies in Google Chrome. Like firebug in Firefox, Google Chrome has its own developer tool that can be used to identify and locate web elements on the web page. Unlike firebug, user is not required to download or install any separate plugin; the developer tool comes readily bundled with Google Chrome. Follow the below steps to locate web elements using Chromes Developer tool: Step #1: The primary step is to launch the Google Chromes Developer tool. Press F12 to launch the tool. The user would be able to see something like the below screen.
Take a note that Element tab is highlighted in the above screenshot. Thus, element tab is the one which displays all the HTML properties belonging to the current web page. Navigate to the Element tab if it is not opened by default on the launch. You can also launch developer tool by right clicking anywhere within the web page and by selecting Inspect element which is very similar to that of firebugs inspection. Step #2: The next step is to locate the desired object within the web page. One way to do the same is to right click on the desired web element and inspect. The HTML property belonging to that web element would be highlighted in the developer tool. Another way is to hover through the HTML properties and the matching web element would be highlighted. Thus, in this way user can locate ids, class, links etc.
Creating an Xpath in Developer Tool We have already discussed about Xpaths in the last tutorial. We also discussed about its creation strategy. Here we would base our discussion to check the validity of the created Xpath in Chromes Developer tool. Step #1: For creating Xpath in Developer tool, open the console tab. Step #2: Type the created Xpath and enclose it in $x(//input[@id='Email'])
Step #3: Press the enter key to see all the matching HTML elements with the specified Xpath. In our case, there is only one matching HTML element. Hover on that HTML element and the corresponding web element would be highlighted on the web page.
In this way, all the Xpaths can be created and checked for their validity within the console. Information related to CSS corresponding to the web element can be found within the Chromes Developer tool. Refer the screenshot below:
Locating Web Elements in Internet Explorer Like Google Chrome, Internet Explorer also has its own Developer Toolthat can be used to identify web elements based on their properties within the web page. User is not required to download or install any separate plugin, the developer tool comes readily bundled with Internet Explorer. Follow the below steps to locate web elements using IE Developer tool: Step #1: The primary step is to launch the IE Developer tool. Press F12 to launch the tool. The user would be able to see something like the below screen.
Take a note that HTML tab is highlighted in the above screenshot. Thus, HTML tab is the one which displays all the HTML properties belonging to the current web page. Expand the HTML tab to view the properties of all the web elements belonging to the current web page. Step #2: The next step is to locate the desired object within the web page. One way to this is to select the HTML element and the matching web element would be highlighted. Thus, in this way user can locate ids, class, links etc. Check out in the below screenshot in which Email Textbox would be highlighted as soon as we select the corresponding HTML property.
Another way to locate the web element is to click on the Find button present in the top menu and by clicking on the desired web element within the web page. As a result, the corresponding HTML properties would be highlighted.
Thus, by using the developer tool, user can find ids, classes, tag names and can create Xpaths to locate web elements. Like Chromes Developer tool, IE developer tool has a separate section that displays CSS related information. Checkout the below screenshot.
Conclusion In this tutorial, we shed light on the basic element locating strategies using Developers tool for Google Chrome and Internet Explorer. Next Tutorial: Proceeding ahead with our next tutorial, we would take the pleasure to introduce you with a more advanced tool named as WebDriver. WebDriver is one of the most compelling automation testing tools. So our next tutorial onwards, we would route and base our discussions around WebDriver and all its nitty gritty.
Introduction to Selenium WebDriver Selenium Tutorial #8 Introduction to Selenium WebDriver: Earlier in this series we published tutorials which focused more onSelenium IDE and its various aspects. We introduced the tool and discussed about its features. We also constructed a fewscripts using Selenium IDE and Firebug. From there we moved on to different types of web elements available and their locating strategies. Now that we are well versed with Selenium IDE, let us move our learning curve towards creating more advanced automation scripts using Selenium WebDriver. WebDriver is one of the most compelling automation testing tools. Let us discuss it in detail.
Introduction WebDriver is one of the most powerful and popular tools of Selenium toolkit. WebDriver comes as an extended version to Selenium RC with superfluous advantages and addresses many of its limitations. WebDriver extends its support to many latest browsers and platforms unlike Selenium IDE. WebDriver also doesnt require Selenium server to be started prior to execution of the test scripts unlike Selenium RC. Selenium RC in aggregation with WebDriver API is known as Selenium 2.0. Selenium was so developed in order to support dynamic web pages and Ajax calls. It also supports various drivers to exercise web based mobile testing. Architecture WebDriver is a web-based testing tool with a subtle difference with Selenium RC. Since, the tool was built on the fundamental where an isolated client was created for each of the web browser; no JavaScript Heavy lifting was required as we discussed in our very first tutorial. WebDriver makes direct calls to the Web browser and the entire test script is executed in this fashion. WebDriver uses the browsers support and capabilities to automation.
Unlike Selenium RC, Selenium WebDriver doesnt essentially require Selenium Server to be started before launching the test script execution. User can leverage the benefit and may or may not require Selenium Server if he/she desires to perform the test execution on the same machine where the browser is residing. Exceptional Cases when Selenium Server is required with WebDriver: When the user wish to execute test scripts on the remote machine. When the user wish to execute test scripts on HtmlUnit Driver. When the user wish to execute test scripts on multiple platforms. WebDriver is a purely object oriented framework that works on OS layer. It utilizes the browsers native compatibility to automation without using any peripheral entity. With the increasing demand it has gained a large popularity, user base and has become by far one of the most extensively used open source automation testing tool. Features of Selenium WebDriver Browser Compatibility
WebDriver supports diverse range of web browsers and their versions. It supports all the conventional browsers in addition to some unique and rare browsers like HtmlUnit browser unlike Selenium RC and Selenium IDE. HtmlUnit Browser executes the test scripts analogous to other browsers except the fact that it runs in the headless mode i.e. GUI-less mode and the user wont be able to view the test script execution. Said that the test script execution transpires in headless mode, thus the execution speed takes a roll and quickens the execution.