<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>automation | Automation Dojos</title>
	<atom:link href="https://www.automationdojos.com/tag/automation/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.automationdojos.com/tag/automation/</link>
	<description>Applied Automation Ops</description>
	<lastBuildDate>Sun, 26 Mar 2023 21:06:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.automationdojos.com/wp-content/uploads/2021/06/Adjo_X_fav_32.png</url>
	<title>automation | Automation Dojos</title>
	<link>https://www.automationdojos.com/tag/automation/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Desired Capabilities in Selenium Web Driver</title>
		<link>https://www.automationdojos.com/desired-capabilities-selenium-webdriver/</link>
					<comments>https://www.automationdojos.com/desired-capabilities-selenium-webdriver/#respond</comments>
		
		<dc:creator><![CDATA[Tushar Sharma]]></dc:creator>
		<pubDate>Tue, 18 Jun 2019 13:07:00 +0000</pubDate>
				<category><![CDATA[FT Automation]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Tutorials]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[ChromeOptions]]></category>
		<category><![CDATA[DesiredCapability]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[selenium-desired-capability]]></category>
		<category><![CDATA[webdriver]]></category>
		<guid isPermaLink="false">https://www.automationdojos.com/?p=22636</guid>

					<description><![CDATA[<p><a href="https://www.automationdojos.com/desired-capabilities-selenium-webdriver/">Desired Capabilities in Selenium Web Driver</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="575" height="345" src="https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag.png 575w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-400x240.png 400w" sizes="(max-width: 575px) 100vw, 575px" /></p>
<p>1. Desired Capabilities in Selenium The performance of a Web application may vary according to different browsers and operating systems. Hence to ship out a near-consistent functional and performant application, it calls for testing your applications against different browsers or browser configurations. That is where Selenium&#8217;s &#8216;Desired Capabilities&#8217; class comes into the picture. &#8216;DesiredCapabilities&#8217; is [&#8230;]</p>
<p>The post <a href="https://www.automationdojos.com/desired-capabilities-selenium-webdriver/">Desired Capabilities in Selenium Web Driver</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.automationdojos.com/desired-capabilities-selenium-webdriver/">Desired Capabilities in Selenium Web Driver</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="575" height="345" src="https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag.png 575w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2019/06/post-selenium-tutorial-fimag-400x240.png 400w" sizes="(max-width: 575px) 100vw, 575px" /></p><div role="navigation" aria-label="Table of Contents" class="simpletoc blog-post-toc toc-none wp-block-simpletoc-toc"><h2 class="simpletoc-title">Table of Contents</h2>
<ul class="simpletoc-list">
<li><a href="#1-desired-capabilities-in-selenium">1. Desired Capabilities in Selenium</a>

</li>
<li><a href="#2-what-about-chromeoptions-class">2. What about ChromeOptions Class</a>

</li>
<li><a href="#3-when-and-where-to-use">3. When and Where to Use</a>

</li>
<li><a href="#4-available-capabilities-for-browser-types">4. Available Capabilities for Browser Types</a>


<ul><li>
<a href="#41-chromeoptions-for-chrome">4.1) ChromeOptions for Chrome</a>

</li>
<li><a href="#42-firefox-safari-edge-and-ie-options">4.2) Firefox, Safari, Edge and IE Options</a>

</li>
<li><a href="#43-desiredcapability-class-options">4.3) DesiredCapability Class Options</a>

</li>
</ul>
<li><a href="#5-desired-capabilities-methods-and-types">5. Desired Capabilities Methods and Types</a>

</li>
<li><a href="#6-usage-scenarios-for-desiredcapabilities">6. Usage Scenarios for DesiredCapabilities</a>


<ul><li>
<a href="#61-desiredcapabilities-example">6.1) DesiredCapabilities Example</a>


<ul><li>
<a href="#a-accept-ssl-certs">(a) Accept SSL Certs</a>

</li>
</ul>
<li><a href="#62-desiredcapabilities-with-chromeoptions">6.2) DesiredCapabilities with ChromeOptions</a>


<ul><li>
<a href="#a-start-chrome-maximized">(a) Start Chrome Maximized</a>

</li>
<li><a href="#b-disable-chrome-extensions">(b) Disable Chrome Extensions</a>

</li>
<li><a href="#c-start-chrome-incognito-mode">(c) Start Chrome Incognito Mode</a>

</li>
<li><a href="#d-enable-adblocker-in-chrome">(d) Enable Adblocker in Chrome</a>

</li>
</ul>
<li><a href="#63-desiredcapabilities-with-firefoxoptions">6.3) DesiredCapabilities with FirefoxOptions</a>


<ul><li>
<a href="#a-start-firefox-in-headless-mode">(a) Start Firefox in Headless Mode</a>

</li>
</ul>
<li><a href="#64-desiredcapabilities-with-internetexplorer">6.4) DesiredCapabilities with InternetExplorer</a>


<ul><li>
<a href="#a-enable-ie-for-ssl-and-check-focus">(a) Enable IE for SSL and Check Focus</a>

</li>
</ul>
</li>
</ul>
<li><a href="#conclusion">Conclusion</a>
</li></ul></div>

<h2 class="wp-block-heading" id="1-desired-capabilities-in-selenium">1. Desired Capabilities in Selenium</h2>


<p>The performance of a Web application may vary according to different browsers and operating systems. Hence to ship out a near-consistent functional and performant application, it calls for testing your applications against different browsers or browser configurations. That is where Selenium&#8217;s &#8216;Desired Capabilities&#8217; class comes into the picture.</p>



<p>&#8216;DesiredCapabilities&#8217; is a class in Selenium that can be used to define and set some generic capabilities or settings for browsers. The &#8216;Desired Capabilities&#8217; applies to WebDriver and is used to modify the properties of the web driver. </p>



<p>This class resides in the <span class="su-label su-label-type-default">org.openqa.selenium.remote.DesiredCapabilities</span> package. We use these desired capabilities as key or value pairs to set them for browsers. In this tutorial, we will discuss the &#8216;Desired Capabilities&#8217; feature in Selenium in detail.</p>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>


<h2 class="wp-block-heading" id="2-what-about-chromeoptions-class">2. What about ChromeOptions Class</h2>


<p>Chrome Options class provides methods for setting ChromeDriver-specific capabilities and hence can be used for manipulating various properties of the ChromeDriver. Similar to Chrome there are browser options classes available for <em>Firefox, Safari, Edge </em>and <em>Internet Explorer,</em> etc as well.</p>



<p>Given below is a simple example of ChromeOptions usage to give you an idea. The example below shows how to open the chrome browser in Maximize mode.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions()
chromeOptions.addArgument("start-maximized");
ChromeDriver driver = new ChromeDriver(chromeOptions);
</pre>



<p>As you can see in the above example the <em>scope </em>of &#8216;ChromeOptions&#8217; applies to Chrome or Chrome Driver while the &#8216;Desired Capability&#8217; applies to WebDriver. This will get more clear with the below examples.</p>


<h2 class="wp-block-heading" id="3-when-and-where-to-use">3. When and Where to Use</h2>


<p>Generally, the ChromeOptions class and all such browser-specific classes (FirefoxOptions, Safari, Internet Explorer) are used in conjunction with &#8216;Desired Capabilities&#8217; for customizing the behavior of your Selenium WebDriver. </p>



<p>So you can set your browser-specific options using browser-specific classes such as ChromeOptions, FireFoxOptions, SafariOptions, etc. You can then pass on these objects to the DesiredCapabilities class object. So now your desired capability knows what you want for different types of browsers.</p>



<p>To further spice-up things you can use your prepared and customized &#8216;DesiredCapabilities&#8217; object in Selenium Grid targeting different machines or browsers. This may give you what we call a multi-browser test environment where the same test case needs to be executed on different browsers.</p>


<h2 class="wp-block-heading" id="4-available-capabilities-for-browser-types">4. Available Capabilities for Browser Types</h2>


<p>Chrome offers a long list of options to control the browser settings. You can find this whole list of switches <a href="https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/chrome/common/chrome_switches.cc" target="_blank" rel="noreferrer noopener">here</a>. Besides here are some most commonly used arguments for ChromeOptions class :</p>


<h3 class="wp-block-heading" id="41-chromeoptions-for-chrome">4.1) ChromeOptions for Chrome</h3>


<div class="su-list" style="margin-left:0px"><ul><li><i class="sui sui-cog" style="color:#777"></i> <strong>start-maximized</strong>: Used to open Chrome in maximize mode</li>   <li><i class="sui sui-cog" style="color:#777"></i> <strong>incognito</strong>: Used to open Chrome in incognito mode</li>   <li><i class="sui sui-cog" style="color:#777"></i> <strong>headless</strong>: Used to open Chrome in headless mode</li>   <li><i class="sui sui-cog" style="color:#777"></i> <strong>disable-extensions</strong>: Used to disable existing extensions on Chrome browser</li>   <li><i class="sui sui-cog" style="color:#777"></i> <strong>disable-popup-blocking</strong>: Used to disable pop-ups displayed on Chrome browser</li></ul></div>


<h3 class="wp-block-heading" id="42-firefox-safari-edge-and-ie-options">4.2) Firefox, Safari, Edge and IE Options</h3>


<p>Similarly, you can checkout browser options for other browsers like Safari, IE, Edge, Firefox, etc. on the following links:</p>



<figure class="wp-block-table is-style-regular"><table><tbody><tr><td><a href="https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities/firefoxOptions" target="_blank" rel="noreferrer noopener">Firefox</a></td><td><a href="https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/safari/SafariOptions.html" target="_blank" rel="noreferrer noopener">Safari</a></td></tr><tr><td><a href="https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/edge/EdgeDriver.html" target="_blank" rel="noreferrer noopener">Edge</a></td><td><a href="https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/ie/InternetExplorerOptions.html" target="_blank" rel="noreferrer noopener">Internet Explorer</a></td></tr></tbody></table></figure>


<h3 class="wp-block-heading" id="43-desiredcapability-class-options">4.3) DesiredCapability Class Options</h3>


<p>The Selenium WebDriver&#8217;s DesiredCapability class as well offers a long list of capabilities and options. Some of the most used common ones are:</p>



<div class="su-list" style="margin-left:0px"><ul><li><i class="sui sui-cog" style="color:#777"></i> <em>ACCEPT_SSL_CERTS</em>: This property tells the browser to accept SSL Certificates by default</li>   <li><i class="sui sui-cog" style="color:#777"></i> <em>PLATFORM_NAME</em>: This property is used to set the operating system platform used to access the web site</li>   <li><i class="sui sui-cog" style="color:#777"></i> <em>BROWSER_NAME</em>: This property is used to set the browser name for a web driver instance</li>   <li><i class="sui sui-cog" style="color:#777"></i> <em>VERSION</em>: This property to used to set the browser version</li></ul></div>



<p>Also, you can see the whole list of DesiredCapabilities options on <a href="https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities" target="_blank" rel="noreferrer noopener">this page on GitHub</a></p>


<h2 class="wp-block-heading" id="5-desired-capabilities-methods-and-types">5. Desired Capabilities Methods and Types</h2>


<p>Let&#8217;s look at the methods available with &#8216;Desired Capabilities&#8217; class. As mentioned &#8216;org.openqa.selenium.remote.DesiredCapabilities&#8217; is the package that has the class named DesiredCapabilities as a component. Selenium web drivers can change and set up properties for web browsers from their methods. Let’s discuss some commonly used methods in the DesiredCapabilities package.</p>



<div class="su-list" style="margin-left:0px"><ul><li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>getBrowserName()</strong> This method is used to get the name of the browsers.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>setBrowserName()</strong> This method is used to set the name of the browsers.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>getCapability()</strong> This method is used to obtain the capabilities of the using system.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>setCapability()</strong> This method can be used to give a name for the platform and device, version of the platform used, the absolute path, or the “.apk” of the user application under testing, application package, and application activity.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>getVersion()</strong> This method returns the version of the platform or browser.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>setVersion()</strong> The browser version and platform version can be set by this method.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>getplatform()</strong> This method returns information about the platform.</li>   <li><i class="sui sui-plus" style="color:#18a10e"></i> <strong>setPlatform()</strong> Platform information can be set by using this platform.</li></ul></div>


<h2 class="wp-block-heading" id="6-usage-scenarios-for-desiredcapabilities">6. Usage Scenarios for DesiredCapabilities</h2>


<p>Now, that you know the methods in DesiredCapabilities class, let’s see some of their common uses. First, let’s do an example using just the &#8216;DesiredCapabilities&#8217; class. </p>


<h3 class="wp-block-heading" id="61-desiredcapabilities-example">6.1) DesiredCapabilities Example</h3>


<p>The below example shows how Desired Capabilities enables chrome browsers to accept SSL certificates on websites. With Desired Capabilities, it is just three lines of code. You just have to use the “CapabilityType.ACCEPT_SSL_CERTS” with setCapabilities method. See the code below.</p>


<h4 class="wp-block-heading" id="a-accept-ssl-certs">(a) Accept SSL Certs</h4>


<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
WebDriver driver = new ChromeDriver(capabilities);
</pre>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>


<h3 class="wp-block-heading" id="62-desiredcapabilities-with-chromeoptions">6.2) DesiredCapabilities with ChromeOptions</h3>


<p>ChromeOptions class is used to control the properties of the Chrome browser. The example below shows how to open the chrome browser in Maximize mode. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions()
chromeOptions.addArgument("start-maximized");
ChromeDriver driver = new ChromeDriver(chromeOptions);
</pre>


<h4 class="wp-block-heading" id="a-start-chrome-maximized">(a) Start Chrome Maximized</h4>


<p>Now we can create a &#8216;Desire Capabilities&#8217; class object and pass the &#8216;options&#8217; we had set for our chrome object (which in this case is the (&#8216;start maximized). Once the &#8216;Desired Capability&#8217; object has received the options set for &#8216;chrome browser&#8217; in this case, then we can further create our &#8216;Web Driver&#8217; object using this &#8216;capability model&#8217; as parameter.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions()
chromeOptions.addArgument("start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver=new ChromeDriver(capabilities);</pre>


<h4 class="wp-block-heading" id="b-disable-chrome-extensions">(b) Disable Chrome Extensions</h4>


<p>The following code disables extensions of Chrome which is particularly useful when you want to disable developer mode while testing.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions()
chromeOptions.addArgument("--disable-extensions");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver=new ChromeDriver(capabilities);</pre>


<h4 class="wp-block-heading" id="c-start-chrome-incognito-mode">(c) Start Chrome Incognito Mode</h4>


<p>Likewise, If you want to open the incognito window, use “&#8211;incognito” argument in the addArdument() method.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--incognito");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver=new ChromeDriver(capabilities);
</pre>


<h4 class="wp-block-heading" id="d-enable-adblocker-in-chrome">(d) Enable Adblocker in Chrome</h4>


<p>Finally, let’s go for a more complicated one. You definitely need to enable an adblocker while testing through a browser. Enabling the adblocker has few steps. You have to download and extract the CRX file related to the Adblocker extension from <a href="http://crxextractor.com/">here</a>. Then you have to pass the path of the extracted file in the code. The following code will do the task.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addExtensions(new File("Path to CRX File"));
DesiredCapabilities caps = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
ChromeDriver chromeDriver = new ChromeDriver(caps);
</pre>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>


<h3 class="wp-block-heading" id="63-desiredcapabilities-with-firefoxoptions">6.3) DesiredCapabilities with FirefoxOptions</h3>


<p>Using Desired Capabilities with Firefox and IE is quite similar to how we do it with Chrome. So let’s do just one example from each of them. The following code lets you open Firefox in headless mode.</p>


<h4 class="wp-block-heading" id="a-start-firefox-in-headless-mode">(a) Start Firefox in Headless Mode</h4>


<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setHeadless(headless);
desiredCapabilities.merge(firefoxOptions);
</pre>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>


<h3 class="wp-block-heading" id="64-desiredcapabilities-with-internetexplorer">6.4) DesiredCapabilities with InternetExplorer</h3>

<h4 class="wp-block-heading" id="a-enable-ie-for-ssl-and-check-focus">(a) Enable IE for SSL and Check Focus</h4>


<p>Similarly, You can check that if the Internet Explorer has the focus before you do start any interactions with it. The below code also force IE to accept SSL certificates.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">DesiredCapabilities desiredCapabilities = DesiredCapabilities.internetExplorer();
desiredCapabilities.setCapability("requireWindowFocus", true);
desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
</pre>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>


<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>


<p>Desired Capabilities are the beginning of advanced testing. It’s something really important to know if you are going to do anything more than basic testing. They provide so much functionality with so little code. Using them is pretty simple and quite similar across different uses. I hope you enjoyed our tutorial. Let’s meet again with another exciting tutorial.</p>
<div class='the_champ_sharing_container the_champ_vertical_sharing the_champ_hide_sharing the_champ_bottom_sharing' style='width:42px;left: -10px;top: 222px;-webkit-box-shadow:none;box-shadow:none;' data-super-socializer-href="https://www.automationdojos.com/tag/automation/feed/"><div class="the_champ_sharing_ul"><a aria-label="Facebook" class="the_champ_facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D22636" title="Facebook" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#0765FE;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path fill="#484848" d="M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z"></path></svg></span></a><a aria-label="Twitter" class="the_champ_button_twitter" href="https://twitter.com/intent/tweet?via=@testoxide&text=automation&url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D22636" title="Twitter" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_twitter" style="background-color:#55acee;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-4 -4 39 39"><path d="M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z" fill="#484848"></path></svg></span></a><a aria-label="Linkedin" class="the_champ_button_linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D22636" title="Linkedin" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_linkedin" style="background-color:#0077b5;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path d="M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z" fill="#484848"></path></svg></span></a><a aria-label="Pinterest" class="the_champ_button_pinterest" href="https://www.automationdojos.com/tag/automation/feed/" onclick="event.preventDefault();javascript:void((function(){var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());" title="Pinterest" rel="noopener" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_pinterest" style="background-color:#cc2329;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-2 -2 35 35"><path fill="#484848" d="M16.539 4.5c-6.277 0-9.442 4.5-9.442 8.253 0 2.272.86 4.293 2.705 5.046.303.125.574.005.662-.33.061-.231.205-.816.27-1.06.088-.331.053-.447-.191-.736-.532-.627-.873-1.439-.873-2.591 0-3.338 2.498-6.327 6.505-6.327 3.548 0 5.497 2.168 5.497 5.062 0 3.81-1.686 7.025-4.188 7.025-1.382 0-2.416-1.142-2.085-2.545.397-1.674 1.166-3.48 1.166-4.689 0-1.081-.581-1.983-1.782-1.983-1.413 0-2.548 1.462-2.548 3.419 0 1.247.421 2.091.421 2.091l-1.699 7.199c-.505 2.137-.076 4.755-.039 5.019.021.158.223.196.314.077.13-.17 1.813-2.247 2.384-4.324.162-.587.929-3.631.929-3.631.46.876 1.801 1.646 3.227 1.646 4.247 0 7.128-3.871 7.128-9.053.003-3.918-3.317-7.568-8.361-7.568z"/></svg></span></a><a aria-label="Reddit" class="the_champ_button_reddit" href="https://reddit.com/submit?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D22636&title=automation" title="Reddit" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_reddit" style="background-color:#ff5700;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-3.5 -3.5 39 39"><path d="M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z" fill="#484848"/></svg></span></a><a aria-label="Whatsapp" class="the_champ_whatsapp" href="https://api.whatsapp.com/send?text=automation https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D22636" title="Whatsapp" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#55eb4c;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-6 -5 40 40"><path class="the_champ_svg_stroke the_champ_no_fill" stroke="#484848" stroke-width="2" fill="none" d="M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046"></path><path d="M 7 19 l -1 6 l 6 -1" class="the_champ_no_fill the_champ_svg_stroke" stroke="#484848" stroke-width="2" fill="none"></path><path d="M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4" fill="#484848"></path></svg></span></a><a class="the_champ_more" title="More" rel="nofollow noopener" style="font-size:24px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="https://www.automationdojos.com/?p=22636" onclick="event.preventDefault()"><span class="the_champ_svg" style="background-color:#ee8e2d;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;" onclick="theChampMoreSharingPopup(this, 'https://www.automationdojos.com/?p=22636', 'automation', '' )"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-.3 0 32 32" version="1.1" width="100%" height="100%" style="display:block;" xml:space="preserve"><g><path fill="#484848" d="M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z" fill-rule="evenodd"></path></g></svg></span></a></div></div><p>The post <a href="https://www.automationdojos.com/desired-capabilities-selenium-webdriver/">Desired Capabilities in Selenium Web Driver</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automationdojos.com/desired-capabilities-selenium-webdriver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Finding Web Elements with Selenium</title>
		<link>https://www.automationdojos.com/finding-web-elements-with-selenium/</link>
					<comments>https://www.automationdojos.com/finding-web-elements-with-selenium/#respond</comments>
		
		<dc:creator><![CDATA[Tushar Sharma]]></dc:creator>
		<pubDate>Sat, 09 Mar 2019 23:42:00 +0000</pubDate>
				<category><![CDATA[FT Automation]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Tutorials]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[webdriver]]></category>
		<guid isPermaLink="false">https://www.automationdojos.com/?p=21080</guid>

					<description><![CDATA[<p><a href="https://www.automationdojos.com/finding-web-elements-with-selenium/">Finding Web Elements with Selenium</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="575" height="345" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium.png 575w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-web-elements-selenium-400x240.png 400w" sizes="(max-width: 575px) 100vw, 575px" /></p>
<p>I&#8217;m going to explain in this tutorial about the usage of the findElement and findElements method of Selenium Webdriver on the Chrome web browser. The findElement method is used when you want to deal with one HTML element on a website. On the other hand, the findElements method is used when you want to deal [&#8230;]</p>
<p>The post <a href="https://www.automationdojos.com/finding-web-elements-with-selenium/">Finding Web Elements with Selenium</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.automationdojos.com/finding-web-elements-with-selenium/">Finding Web Elements with Selenium</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>

<p>I&#8217;m going to explain in this tutorial about the usage of the <em>findElement </em>and <em>findElements </em>method of Selenium Webdriver on the Chrome web browser. The <em>findElement</em> method is used when you want to deal with one HTML element on a website. On the other hand, the <em>findElements</em> method is used when you want to deal with more than one HTML element.</p>



<p>In brief, the <span class="su-label su-label-type-default">findElement</span> method returns a single element, and the <span class="su-label su-label-type-default">findElements</span> method returns an array of elements.</p>



<p>We will choose a dynamic website &#8211; “BBC News”, to explain this concept in a real scenario. We will use the <em>findElement </em>method to display the headlines of the webpage and we will use <em>findElements </em>methods to display the menu items.</p>



<figure class="wp-block-image size-large is-style-default td-img-style-shadow"><img loading="lazy" decoding="async" width="1024" height="549" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-1024x549.png" alt="" class="wp-image-21084" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-1024x549.png 1024w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-300x161.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-768x412.png 768w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-1536x824.png 1536w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-150x80.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-696x373.png 696w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-1068x573.png 1068w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-783x420.png 783w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-200x107.png 200w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01-400x215.png 400w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-01.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>First, let&#8217;s have a look at the web page to analyze the HTML code and select the necessary attributes.</p>



<figure class="wp-block-image size-large is-style-default"><img loading="lazy" decoding="async" width="1024" height="86" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-1024x86.png" alt="" class="wp-image-21083" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-1024x86.png 1024w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-300x25.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-768x64.png 768w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-150x13.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-696x58.png 696w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-200x17.png 200w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02-400x34.png 400w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-02.png 1061w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>We can see that the news headline text appears within the <strong><em>block-link__overlay-link</em></strong> class.&nbsp;</p>



<figure class="wp-block-image size-large is-style-default"><img loading="lazy" decoding="async" width="802" height="449" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03.png" alt="" class="wp-image-21087" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03.png 802w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-300x168.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-768x430.png 768w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-150x84.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-696x390.png 696w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-750x420.png 750w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-200x112.png 200w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-03-400x224.png 400w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>



<p>The menu items are within anchor tags, which displays as a list inside a div tag. To acquire the menu item text, we need to reference an attribute that points towards all of them. However, the anchor tags are inside the list tags which we can&#8217;t address in common.</p>



<p>The div tag has a unique ID that we can use to capture the div. After capturing the div, We will be accessing the UL tag. However, We need to have some techniques to access the &lt;a&gt; tag inside the &lt;ul&gt; list(Example is shown below).</p>


<h3 class="wp-block-heading" id="a-sample-program">A Sample Program</h3>


<p>Now let&#8217;s program to demonstrate the above concept using Java language. First, open the Eclipse IDE and create a new class and name it as <strong>BBCNews</strong>.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large is-style-default"><img loading="lazy" decoding="async" width="812" height="870" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04.png" alt="" class="wp-image-21086" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04.png 812w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-280x300.png 280w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-768x823.png 768w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-150x161.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-300x321.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-696x746.png 696w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-392x420.png 392w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-187x200.png 187w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-04-373x400.png 373w" sizes="auto, (max-width: 812px) 100vw, 812px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large is-style-default"><img loading="lazy" decoding="async" width="682" height="750" src="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05.png" alt="" class="wp-image-21085" srcset="https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05.png 682w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-273x300.png 273w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-150x165.png 150w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-300x330.png 300w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-382x420.png 382w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-182x200.png 182w, https://www.automationdojos.com/wp-content/uploads/2021/10/post-find-webelement-sel-05-364x400.png 364w" sizes="auto, (max-width: 682px) 100vw, 682px" /></figure>
</div>
</div>



<p>Next, we will import the necessary libraries.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="true" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
</pre>



<p>Next, we will instantiate the Chrome WebDriver. For this purpose, we need to set the system property which points to the location of Chrome WebDriver. Then we have to instantiate a WebDriver element (from org.openqa.selenium.WebDriver library) to the Chrome web browser</p>



<pre class="wp-block-code"><code>System.setProperty("webdriver.chrome.driver", "D:\\Chromedriver\\chromedriver.exe"); 
WebDriver driver=new ChromeDriver();
</code></pre>



<p>After that, we will assign the URL of the BBC News website to the Chrome WebDriver.</p>



<pre class="wp-block-code"><code>driver.get("https://www.bbc.com/");</code></pre>



<p>Now let&#8217;s see how to grab the headline on the webpage using the <em>findElement </em>method. First, we will create a WebElement (from org.openqa.selenium.WebElement library) to store the headline element.</p>



<p>The <em>findElement </em>and <em>findElements </em>methods can return the elements in the following ways:</p>



<div class="su-list" style="margin-left:0px">



<ul class="wp-block-list"><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> className &#8211; returns elements using <em>class </em>attributes.</li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> id &#8211; returns elements using the <em>id </em>attribute</li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> name &#8211; returns elements using the <em>name </em>attribute</li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> CSS selector &#8211; returns elements using <em>CSS Selector Pattern</em></li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> link text &#8211; returns elements using the visible text within the tags</li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> Partial link text &#8211; returns elements using the text of an attribute inside the tag</li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> tagName &#8211; returns elements using the <em>tag</em></li><li><i class="sui sui-hand-o-right" style="color:#0eab3c"></i> XPath &#8211; returns elements using the <em>xpath</em></li></ul>



</div>



<p>Obtaining the element using <em>className </em>would be ideal, as the <em>class </em>attribute is available within the anchor tag that holds the headline.</p>



<pre class="wp-block-code"><code>WebElement element = driver.findElement(By.className("block-link__overlay-link"));</code></pre>



<p>Finally, let&#8217;s see how to get the menu items using <em>findElements </em>method. We will create a list of WebElements to store all the menu items. You can use the <em>cssSelector </em>or <em>xpath</em>. But, we will use a special technique to combine both <em>findElement </em>&amp; <em>findElements </em>methods.</p>



<p>We will locate the <em>div </em>tag using the <em>findElement </em>method and then, we will grab all the anchor tags which hold the menu items using the <em>findElements </em>method.</p>



<pre class="wp-block-code"><code>List&lt;WebElement&gt; elements = driver.findElement(By.id("orb-nav-links")).findElements(By.tagName("a"));</code></pre>



<p>We can finally print all the elements using a ‘for loop’. When printing the elements we will use the <em>getAttribute(&#8220;innerHTML&#8221;)</em> so that it prints the text inside the HTML tag!</p>



<p>You can see the entire program as below :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="true" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">package myPackage;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; 
public class BBCNews {
public static void main(String[] args) { 
    	System.setProperty("webdriver.chrome.driver", "D:\\chromedriver_win32\\chromedriver.exe"); 
   	WebDriver driver=new ChromeDriver(); 
   	driver.get("https://www.bbc.com/");
   	WebElement element = driver.findElement(By.className("block-link__overlay-link"));
	System.out.println("Headline: " + element.getText());
   	List&lt;WebElement> elements = driver.findElement(By.id("orb-nav-links")).findElements(By.tagName("a"));	
	for (int i=0; i&lt;elements.size();i++){
		System.out.println(elements.get(i).getAttribute("innerHTML"));
	}    	     
	}
}
</pre>


<h3 class="wp-block-heading" id="conclusion">Conclusion</h3>


<p>We hope this article helps to understand how both findElement &amp; findElements methods work in different ways. We hope you apply the same concepts to other webpages and come up with new ideas to automate with Selenium WebDriver.</p>
<div class='the_champ_sharing_container the_champ_vertical_sharing the_champ_hide_sharing the_champ_bottom_sharing' style='width:42px;left: -10px;top: 222px;-webkit-box-shadow:none;box-shadow:none;' data-super-socializer-href="https://www.automationdojos.com/tag/automation/feed/"><div class="the_champ_sharing_ul"><a aria-label="Facebook" class="the_champ_facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D21080" title="Facebook" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#0765FE;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path fill="#484848" d="M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z"></path></svg></span></a><a aria-label="Twitter" class="the_champ_button_twitter" href="https://twitter.com/intent/tweet?via=@testoxide&text=automation&url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D21080" title="Twitter" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_twitter" style="background-color:#55acee;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-4 -4 39 39"><path d="M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z" fill="#484848"></path></svg></span></a><a aria-label="Linkedin" class="the_champ_button_linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D21080" title="Linkedin" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_linkedin" style="background-color:#0077b5;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path d="M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z" fill="#484848"></path></svg></span></a><a aria-label="Pinterest" class="the_champ_button_pinterest" href="https://www.automationdojos.com/tag/automation/feed/" onclick="event.preventDefault();javascript:void((function(){var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());" title="Pinterest" rel="noopener" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_pinterest" style="background-color:#cc2329;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-2 -2 35 35"><path fill="#484848" d="M16.539 4.5c-6.277 0-9.442 4.5-9.442 8.253 0 2.272.86 4.293 2.705 5.046.303.125.574.005.662-.33.061-.231.205-.816.27-1.06.088-.331.053-.447-.191-.736-.532-.627-.873-1.439-.873-2.591 0-3.338 2.498-6.327 6.505-6.327 3.548 0 5.497 2.168 5.497 5.062 0 3.81-1.686 7.025-4.188 7.025-1.382 0-2.416-1.142-2.085-2.545.397-1.674 1.166-3.48 1.166-4.689 0-1.081-.581-1.983-1.782-1.983-1.413 0-2.548 1.462-2.548 3.419 0 1.247.421 2.091.421 2.091l-1.699 7.199c-.505 2.137-.076 4.755-.039 5.019.021.158.223.196.314.077.13-.17 1.813-2.247 2.384-4.324.162-.587.929-3.631.929-3.631.46.876 1.801 1.646 3.227 1.646 4.247 0 7.128-3.871 7.128-9.053.003-3.918-3.317-7.568-8.361-7.568z"/></svg></span></a><a aria-label="Reddit" class="the_champ_button_reddit" href="https://reddit.com/submit?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D21080&title=automation" title="Reddit" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_reddit" style="background-color:#ff5700;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-3.5 -3.5 39 39"><path d="M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z" fill="#484848"/></svg></span></a><a aria-label="Whatsapp" class="the_champ_whatsapp" href="https://api.whatsapp.com/send?text=automation https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D21080" title="Whatsapp" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#55eb4c;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-6 -5 40 40"><path class="the_champ_svg_stroke the_champ_no_fill" stroke="#484848" stroke-width="2" fill="none" d="M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046"></path><path d="M 7 19 l -1 6 l 6 -1" class="the_champ_no_fill the_champ_svg_stroke" stroke="#484848" stroke-width="2" fill="none"></path><path d="M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4" fill="#484848"></path></svg></span></a><a class="the_champ_more" title="More" rel="nofollow noopener" style="font-size:24px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="https://www.automationdojos.com/?p=21080" onclick="event.preventDefault()"><span class="the_champ_svg" style="background-color:#ee8e2d;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;" onclick="theChampMoreSharingPopup(this, 'https://www.automationdojos.com/?p=21080', 'automation', '' )"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-.3 0 32 32" version="1.1" width="100%" height="100%" style="display:block;" xml:space="preserve"><g><path fill="#484848" d="M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z" fill-rule="evenodd"></path></g></svg></span></a></div></div><p>The post <a href="https://www.automationdojos.com/finding-web-elements-with-selenium/">Finding Web Elements with Selenium</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automationdojos.com/finding-web-elements-with-selenium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Working with Selenium WebElements</title>
		<link>https://www.automationdojos.com/working-with-selenium-webelements/</link>
					<comments>https://www.automationdojos.com/working-with-selenium-webelements/#respond</comments>
		
		<dc:creator><![CDATA[Tushar Sharma]]></dc:creator>
		<pubDate>Sun, 10 Feb 2019 04:40:29 +0000</pubDate>
				<category><![CDATA[Featured Posts]]></category>
		<category><![CDATA[FT Automation]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Selenium Tutorials]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[webdriver]]></category>
		<guid isPermaLink="false">https://www.automationdojos.com/?p=13341</guid>

					<description><![CDATA[<p><a href="https://www.automationdojos.com/working-with-selenium-webelements/">Working with Selenium WebElements</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="280" height="168" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-280x168.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-280x168.png 280w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements-400x240.png 400w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements.png 575w" sizes="auto, (max-width: 280px) 100vw, 280px" /></p>
<p>Table of Contents 1. Selenium WebElements 2. WebElement Locators 3. Working With Text Box 4. Working With Buttons 5. Checkboxes and Radio Buttons 6. Selecting from Drop-Downs 7. File Uploads 8. Locating Links 9. Summary In our previous tutorial, Getting Started with Selenium WebDriver, we discussed the way to set up the environment for automating [&#8230;]</p>
<p>The post <a href="https://www.automationdojos.com/working-with-selenium-webelements/">Working with Selenium WebElements</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.automationdojos.com/working-with-selenium-webelements/">Working with Selenium WebElements</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>

<h2 class="simpletoc-title">Table of Contents</h2>
<ul class="simpletoc-list">
<li> <a href="#selenium-webelements">1. Selenium WebElements</a></li>
<li> <a href="#webelements-locaters">2. WebElement Locators</a></li>
<li> <a href="#working-textboxes">3. Working With Text Box</a></li>
<li> <a href="#working-buttons">4. Working With Buttons</a></li>
<li> <a href="#checkboxes-radiobuttons">5. Checkboxes and Radio Buttons</a></li>
<li> <a href="#selecting-dropdowns">6. Selecting from Drop-Downs</a></li>
<li> <a href="#file-uploads">7. File Uploads</a></li>
<li> <a href="#locating-links">8. Locating Links</a></li>
<li> <a href="#summary">9. Summary</a></li>

</ul>


<p>In our previous tutorial, <a href="https://www.automationdojos.com/getting-started-selenium-webdriver/" target="_blank" rel="noopener noreferrer">Getting Started with Selenium WebDriver</a>, we discussed the way to set up the environment for automating testing using Selenium and wrote a basic script to do a simple test. In this tutorial, we will discuss other functionalities of the Selenium Web Driver in depth with examples.</p>
<h2>1. Selenium WebElements</h2>
<p>Web Element is a <strong><em>class in Web Driver</em></strong> to handle different  HTML elements of a web page. It can locate and perform different functionalities upon them. Following are the two methods, commonly used to obtain AUT elements directly and to store them as WebElement objects.</p>
<div class="approved2"><div class="su-list" style="margin-left:0px">
<p> </p>
<ul style="font-size: 13.5px; line-height: 1.65em; overflow: hidden;">
<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> findElement() – It returns a single WebElement</li>
<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> findElements() – It returns a list of WebElements.</li>
</ul>
</div>
<div class="module-icon"> </div>
</div>
<p>In order to create objects of WebElement, we need to import the package Selenium.WebElement</p>
<div class="su-note"  style="border-color:#dcdcdc;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#f6f6f6;border-color:#ffffff;color:#747474;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">
<p>import org.openqa.selenium.WebElement;</p>
</div></div>
<div class="su-spacer" style="height:5px"></div>
<h2>2. WebElement Locators</h2>
<p>Locating different web elements are extremely crucial in testing web pages since the chance of ending up with incorrect elements is higher. Therefore, Selenium WebElement has introduced several different ”Locators” to locate web elements using their unique properties precisely. They can be easily identified using the Selenium IDE or Browser’s Developer Tool. Below is a list of Locators and their syntaxes.</p>
<div class="su-table su-table-alternate su-table-fixed">
<table width="525">
<tbody>
<tr>
<td width="125"><strong>Locator</strong></td>
<td width="200"><strong>Syntax</strong></td>
<td width="200"><strong>Description</strong></td>
</tr>
<tr>
<td width="125">ID</td>
<td width="200">driver.findElement(By.id(&#8220;&lt;ID_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using ID attribute.</td>
</tr>
<tr>
<td width="125">name</td>
<td width="200">driver.findElement(By.name(&#8220;&lt;NAME_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using name attribute</td>
</tr>
<tr>
<td width="125">className</td>
<td width="200">driver.findElement(By.className(&#8220;&lt;CLASS_NAME_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using their class</td>
</tr>
<tr>
<td width="125">linkText</td>
<td width="200">driver.findElement(By.linkText(&#8220;&lt;TEXT_IN_THE_LINK&gt;&#8221;)</td>
<td width="200"> Finds element using text in the link</td>
</tr>
<tr>
<td width="125">partialLinkText</td>
<td width="200">driver.findElement(By.partialLinkText(&#8220;&lt;PARTIAL_TEXT_IN_THE_LINK&gt;&#8221;)</td>
<td width="200"> Finds element using part of the text in the link</td>
</tr>
<tr>
<td width="125">xpath</td>
<td width="200">driver.findElement(By.xpath(&#8220;&lt;xpath_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using xpath attribute</td>
</tr>
<tr>
<td width="125">cssSelector</td>
<td width="200">driver.findElement(By.cssSelector(&#8220;&lt;cssSelector_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using css selector</td>
</tr>
<tr>
<td width="125">tagName</td>
<td width="200">driver.findElement(By.id(&#8220;&lt;tagName_OF_THE_ELEMENT&gt;&#8221;)</td>
<td width="200"> Finds element using name of their tag</td>
</tr>
</tbody>
</table>
</div>
<p>Once the elements are located, different functionalities can be performed on them. In this tutorial, we will be using a <a href="https://www.toolsqa.com/automation-practice-form/">sample web form</a> to explain how Selenium WebElements can be used to test its various form elements.</p>
<div class="su-spacer" style="height:5px"></div>
<h2>3. Working With Text Box</h2>
<p>Initially, we need to create WebElements for the ‘Firstname’ and ‘Lastname’ fields.<img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13354" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements1.png" alt="" width="616" height="66" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements1.png 616w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements1-300x32.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements1-200x21.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements1-400x43.png 400w" sizes="auto, (max-width: 616px) 100vw, 616px" /></p>
<div class="attention">
<div class="typo-icon">
<p style="font-size: 13.5px;">Note that the “firstname” is located by the “name” attribute, and the “lastname” is located by the “id” attribute.</p>
</div>
</div>
<p>Once the element objects are made, the first thing to do is to clear the text, which is already in the text field. This is done by the clear() method.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13355" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements2.png" alt="" width="303" height="105" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements2.png 303w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements2-300x105.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements2-200x69.png 200w" sizes="auto, (max-width: 303px) 100vw, 303px" /></p>
<p>Finally, we can enter the relevant text using the sendKeys() method by sending the text value as the parameter.</p>
<div class="su-spacer" style="height:5px"></div>
<h2>4. Working With Buttons</h2>
<p>Buttons are usually accessed through the click() method. In the case of Submit buttons, the submit() method will be used to submit all the inputs to the server.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13356" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements3.png" alt="" width="700" height="73" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements3.png 710w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements3-300x31.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements3-200x21.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements3-400x41.png 400w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>In this case, the className is used as the locator to find the button.</p>
<div class="su-spacer" style="height:5px"></div>
<h2>5. Checkboxes and Radio Buttons</h2>
<p>Toggling checkboxes on or off and selecting radio buttons are done using the click() method.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13357" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements4.png" alt="" width="690" height="239" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements4.png 690w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements4-300x104.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements4-200x69.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements4-400x139.png 400w" sizes="auto, (max-width: 690px) 100vw, 690px" /></p>
<p>The checkbox element is located using its XPath. This code checks if the checkbox is selected or not and then prints a message.</p>
<p>In the case of Radio Buttons, it is located using cssSelector.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13347" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements5.png" alt="" width="726" height="183" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements5.png 726w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements5-300x76.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements5-200x50.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements5-400x101.png 400w" sizes="auto, (max-width: 726px) 100vw, 726px" /></p>
<div class="su-spacer" style="height:5px"></div>
<h2>6. Selecting from Drop-Downs</h2>
<p>Before selecting values from a drop-down, we need to import a package.</p>
<div class="su-note"  style="border-color:#dcdcdc;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#f6f6f6;border-color:#ffffff;color:#747474;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">import org.openqa.selenium.support.ui.Select;<br /></div></div>
<p>Once that is done, we can declare the drop-down as a Select object.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13348" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements6.png" alt="" width="700" height="63" /></p>
<p>Now we can control the drop-down by selecting its values using different methods defined in the Select class.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13349" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements7.png" alt="" width="567" height="49" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements7.png 567w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements7-300x26.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements7-200x17.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements7-400x35.png 400w" sizes="auto, (max-width: 567px) 100vw, 567px" /></p>
<p>We can repeat the above code with different parameters when selecting multiple items.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13350" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements8.png" alt="" width="700" height="95" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements8.png 757w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements8-300x41.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements8-200x27.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements8-400x55.png 400w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<div class="su-spacer" style="height:5px"></div>
<h2>7. File Uploads</h2>
<p>There are a couple of solutions available for implementing &#8216;File Upload&#8217; functionality within your selenium scripts. However, not all solutions may work on all applications because at times it may depend on typical &#8216;design or kind of implementation&#8217; your application or website uses at the backend and/or client end.</p>
<p>However here is one such, simple implementation for File uploading. In the below snippet &#8216;File Uploading&#8217; is simply done by locating the file-select input field and by entering the path of the file to be uploaded using the sendKeys() method.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13351" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements9.png" alt="" width="649" height="63" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements9.png 649w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements9-300x29.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements9-200x19.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements9-400x39.png 400w" sizes="auto, (max-width: 649px) 100vw, 649px" /></p>
<div class="su-spacer" style="height:5px"></div>
<h2>8. Locating Links</h2>
<p>We can locate links and access them using the linkText() and partialLinkText() locators. In the below example, we will obtain the link with its complete text using linkText() and part of the link text using partialLinkText() locator.</p>
<p><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13352" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements10.png" alt="" width="212" height="115" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements10.png 212w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements10-200x108.png 200w" sizes="auto, (max-width: 212px) 100vw, 212px" /><br /><img loading="lazy" decoding="async" class="size-full aligncenter rt-image wp-image-13353" style="margin-top: 15px; margin-bottom: 20px;" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements11.png" alt="" width="547" height="149" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements11.png 547w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements11-300x82.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements11-200x54.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_selenium_webelements11-400x109.png 400w" sizes="auto, (max-width: 547px) 100vw, 547px" /></p>
<p>Here is the complete code.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="java">package newPackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.firefox.FirefoxDriver;

public class myClass {

   public static void main(String[]args) throws InterruptedException{
      System.setProperty("webdriver.gecko.driver", "C:\\geckodriver\\geckodriver.exe");
      
      WebDriver driver = new FirefoxDriver();
      
      String baseUrl = "https://www.toolsqa.com/automation-practice-form/";
        String pageTitle="";
      driver.get(baseUrl);
      
      //Clicking a link text using linkText Locator
      driver.findElement(By.linkText("Partial Link Test")).click();
      System.out.println(driver.getTitle());
      Thread.sleep(1000);
      
      //Clicking a link text using partialLinkText Locator
      driver.findElement(By.partialLinkText("Partial")).click();
      System.out.println(driver.getTitle());
      
      //Capturing the page title
      pageTitle = driver.getTitle();
      
      //Get webElements for First name and Last name text boxes
      //Locator by name
      WebElement firstName= driver.findElement(By.name("firstname"));
      //Locator by Id
      WebElement lastName= driver.findElement(By.id("lastname"));
      
      //Clearing the text fields
      firstName.clear();
      lastName.clear();
      
      //Entering values to the text field
      firstName.sendKeys("John");
      lastName.sendKeys("Doe");
      
      //Get webElements for gender radio buttons using cssSelector
      WebElement radioMale=driver.findElement(By.cssSelector("input#sex-0"));
      //Selecting it using click()method and printing their values.
      radioMale.click();
      System.out.println("Male Selected");
      
      WebElement radioFmale=driver.findElement(By.cssSelector("input#sex-1"));
      radioFmale.click();
      System.out.println("Female Selected");
      
      //Selecting years of experience radio button
      WebElement yrsExp= driver.findElement(By.id("exp-2"));
      yrsExp.click();
      //Printing the number of experience selected
      System.out.println("Years of Experience = " + yrsExp.getText());
      
      //Entering values in Date text box
      WebElement date= driver.findElement(By.id("datepicker"));
      date.sendKeys("17-12-2019");
      
      //Selecting Profession Check box
      WebElement prof= driver.findElement(By.id("profession-0"));
      prof.click();
      
      //uploading a file
      WebElement uploadElement = driver.findElement(By.id("photo"));
      uploadElement.sendKeys("C:\\profilePic.jpg");
      
      //Creating web element for selecting Automation tool using xpath
      WebElement selQtp= driver.findElement(By.xpath("//*[@id=\'tool-0']"));
      // Toggling on and off to see if selected
      selQtp.click();	
      
      if (selQtp.isSelected())
         System.out.println("QTP Selected");
      else
         System.out.println("QTP Not Selected");
      //Unchecking
      selQtp.click();	
      
      if (!selQtp.isSelected())
         System.out.println("QTP Not Selected");
      
      //Selecting single continent using drop down
      Select singleContiDrp = new Select(driver.findElement(By.id("continents")));
      
      singleContiDrp.deselectByVisibleText("South America");
      
      //Selecting multiple continent using drop down
      Select contiDrp = new Select(driver.findElement(By.id("continentsmultiple")));
      
      contiDrp.deselectByVisibleText("Asia");
      contiDrp.deselectByVisibleText("Europe");
      
      //Locating button using className
      WebElement firstBtn= driver.findElement(By.className("btn btn-info"));
      firstBtn.click();
   
      
      Thread.sleep(1000);
      if (pageTitle.contentEquals(driver.getTitle())){
         System.out.println("Test Passed!");

         } else {

         System.out.println("Test Failed");}	 
      driver.close();
      
   }
   
}</pre>
<div class="su-spacer" style="height:5px"></div>
<h2>9. Summary</h2>
<div class="su-list" style="margin-left:0px">
<ul>
<li><i class="sui sui-arrow-right" style="color:#68b63a"></i> Selenium web driver captures different form elements using Selenium WebElements.</li>
<li><i class="sui sui-arrow-right" style="color:#68b63a"></i> WebElement uses different properties like ID, name, className, cssSelector, link text, and xpath of the form elements to locate them using the findElement() method.</li>
<li><i class="sui sui-arrow-right" style="color:#68b63a"></i> The sendKey() method is used to enter values to the text field, and a clear() method is used to delete values in the text field.</li>
<li><i class="sui sui-arrow-right" style="color:#68b63a"></i> Buttons, Radio buttons, and Checkboxes can be clicked using the Click() method.</li>
<li><i class="sui sui-arrow-right" style="color:#68b63a"></i> Dropdowns should be instantiated as an object of the ‘Select’ class to control them within a Selenium script.</li>
</ul>
</div>


<p></p>
<div class='the_champ_sharing_container the_champ_vertical_sharing the_champ_hide_sharing the_champ_bottom_sharing' style='width:42px;left: -10px;top: 222px;-webkit-box-shadow:none;box-shadow:none;' data-super-socializer-href="https://www.automationdojos.com/tag/automation/feed/"><div class="the_champ_sharing_ul"><a aria-label="Facebook" class="the_champ_facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13341" title="Facebook" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#0765FE;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path fill="#484848" d="M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z"></path></svg></span></a><a aria-label="Twitter" class="the_champ_button_twitter" href="https://twitter.com/intent/tweet?via=@testoxide&text=automation&url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13341" title="Twitter" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_twitter" style="background-color:#55acee;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-4 -4 39 39"><path d="M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z" fill="#484848"></path></svg></span></a><a aria-label="Linkedin" class="the_champ_button_linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13341" title="Linkedin" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_linkedin" style="background-color:#0077b5;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path d="M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z" fill="#484848"></path></svg></span></a><a aria-label="Pinterest" class="the_champ_button_pinterest" href="https://www.automationdojos.com/tag/automation/feed/" onclick="event.preventDefault();javascript:void((function(){var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());" title="Pinterest" rel="noopener" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_pinterest" style="background-color:#cc2329;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-2 -2 35 35"><path fill="#484848" d="M16.539 4.5c-6.277 0-9.442 4.5-9.442 8.253 0 2.272.86 4.293 2.705 5.046.303.125.574.005.662-.33.061-.231.205-.816.27-1.06.088-.331.053-.447-.191-.736-.532-.627-.873-1.439-.873-2.591 0-3.338 2.498-6.327 6.505-6.327 3.548 0 5.497 2.168 5.497 5.062 0 3.81-1.686 7.025-4.188 7.025-1.382 0-2.416-1.142-2.085-2.545.397-1.674 1.166-3.48 1.166-4.689 0-1.081-.581-1.983-1.782-1.983-1.413 0-2.548 1.462-2.548 3.419 0 1.247.421 2.091.421 2.091l-1.699 7.199c-.505 2.137-.076 4.755-.039 5.019.021.158.223.196.314.077.13-.17 1.813-2.247 2.384-4.324.162-.587.929-3.631.929-3.631.46.876 1.801 1.646 3.227 1.646 4.247 0 7.128-3.871 7.128-9.053.003-3.918-3.317-7.568-8.361-7.568z"/></svg></span></a><a aria-label="Reddit" class="the_champ_button_reddit" href="https://reddit.com/submit?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13341&title=automation" title="Reddit" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_reddit" style="background-color:#ff5700;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-3.5 -3.5 39 39"><path d="M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z" fill="#484848"/></svg></span></a><a aria-label="Whatsapp" class="the_champ_whatsapp" href="https://api.whatsapp.com/send?text=automation https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13341" title="Whatsapp" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#55eb4c;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-6 -5 40 40"><path class="the_champ_svg_stroke the_champ_no_fill" stroke="#484848" stroke-width="2" fill="none" d="M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046"></path><path d="M 7 19 l -1 6 l 6 -1" class="the_champ_no_fill the_champ_svg_stroke" stroke="#484848" stroke-width="2" fill="none"></path><path d="M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4" fill="#484848"></path></svg></span></a><a class="the_champ_more" title="More" rel="nofollow noopener" style="font-size:24px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="https://www.automationdojos.com/?p=13341" onclick="event.preventDefault()"><span class="the_champ_svg" style="background-color:#ee8e2d;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;" onclick="theChampMoreSharingPopup(this, 'https://www.automationdojos.com/?p=13341', 'automation', '' )"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-.3 0 32 32" version="1.1" width="100%" height="100%" style="display:block;" xml:space="preserve"><g><path fill="#484848" d="M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z" fill-rule="evenodd"></path></g></svg></span></a></div></div><p>The post <a href="https://www.automationdojos.com/working-with-selenium-webelements/">Working with Selenium WebElements</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automationdojos.com/working-with-selenium-webelements/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Common Issues with HP Load Runner</title>
		<link>https://www.automationdojos.com/common-issues-load-runner/</link>
					<comments>https://www.automationdojos.com/common-issues-load-runner/#respond</comments>
		
		<dc:creator><![CDATA[Tushar Sharma]]></dc:creator>
		<pubDate>Fri, 13 Mar 2015 20:51:02 +0000</pubDate>
				<category><![CDATA[Load Runner]]></category>
		<category><![CDATA[NFT Automation]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[loadrunner]]></category>
		<category><![CDATA[loadrunner-errors]]></category>
		<category><![CDATA[NFT]]></category>
		<guid isPermaLink="false">https://www.automationdojos.com/?p=13047</guid>

					<description><![CDATA[<p><a href="https://www.automationdojos.com/common-issues-load-runner/">Common Issues with HP Load Runner</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="280" height="168" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-280x168.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-280x168.png 280w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr-400x240.png 400w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr.png 575w" sizes="auto, (max-width: 280px) 100vw, 280px" /></p>
<p>HP Load Runner is a popular automated load and performance testing tool that emulates actual load to check the performance and behavior of a product. Load Runner comprises three important components namely Virtual User Generator (VuGen), Controller and Load Generator and Analysis. In fact, before we start discussing the &#8216;common issues&#8217;, let&#8217;s take a moment [&#8230;]</p>
<p>The post <a href="https://www.automationdojos.com/common-issues-load-runner/">Common Issues with HP Load Runner</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.automationdojos.com/common-issues-load-runner/">Common Issues with HP Load Runner</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<h2 class="simpletoc-title">Table of Contents</h2>
<ul class="simpletoc-list">
<li><a href="#virtual-user-generator-vugen">Virtual User Generator (VuGen)</a>

</li>
<li><a href="#controller-and-load-generator">Controller and Load Generator</a>

</li>
<li><a href="#result-analysis">Result Analysis</a>

</li>
<li><a href="#common-issues-with-load-runner">Common issues with Load Runner</a>
</li></ul>


<p>HP Load Runner is a popular automated load and performance testing tool that emulates actual load to check the performance and behavior of a product. Load Runner comprises three important components namely Virtual User Generator (VuGen), Controller and Load Generator and Analysis.</p>



<p>In fact, before we start discussing the &#8216;common issues&#8217;, let&#8217;s take a moment to go through the main LoadRunner components in brief as this would make the terms used in this article more meaningful and clear.</p>


<div class="su-spacer" style="height:2px"></div>


<h2 class="wp-block-heading" id="virtual-user-generator-vugen">Virtual User Generator (VuGen)</h2>


<div class="wp-block-image is-style-default"><figure class="alignright"><img decoding="async" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_common-issues-lr2-300x257.png" alt=""/></figure></div>



<p>For load and performance testing, you need to create scripts for simulating transactions. That is what VUGen does, in fact, it is one of the most important and most frequently used components of LoadRunner. As a scripting tool, VuGen enables you to create specific user scripts that record various transactions. In addition to creating user scripts, VuGen allows the following tasks:</p>



<div class="su-note"  style="border-color:#dcdcdc;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#f6f6f6;border-color:#ffffff;color:#747474;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">
<div class="su-list" style="margin-left:0px">
<ul style="font-size: 13.5px; line-height: 1.65em;">
 	<li><i class="sui sui-plus" style="color:#68b63a"></i> VUGen allows you to record or develop scripts.</li>
 	<li><i class="sui sui-plus" style="color:#68b63a"></i> Parametrize the scripts with data.</li>
 	<li><i class="sui sui-plus" style="color:#68b63a"></i> You can add a checkpoint for test conditions.</li>
 	<li><i class="sui sui-plus" style="color:#68b63a"></i> Allows for script debugging</li>
 	<li><i class="sui sui-plus" style="color:#68b63a"></i> You can measure the transaction timings</li>
</ul>
</div>
</div></div>


<div class="su-spacer" style="height:2px"></div>


<h2 class="wp-block-heading" id="controller-and-load-generator">Controller and Load Generator</h2>


<p>The controller is responsible for executing scripts. When VuGen creates user scripts to simulate transactions, the next requirement is the creation of user case scenarios that simulate the behaviour of a user. These user cases or Vusers are executed and managed by the controller from a single workstation. In addition to passing scripts to the Load Generator which executes Vuser scripts, the controller collects the resulting information for analysis.</p>


<div class="su-spacer" style="height:2px"></div>


<h2 class="wp-block-heading" id="result-analysis">Result Analysis</h2>


<p>HP Load Runner offers analytic tools that enable you to create detailed reports from Vuser logs generated after the execution of tests. You can either analyze reports from a single test or compare multiple tests.</p>


<div class="su-spacer" style="height:2px"></div>


<h2 class="wp-block-heading" id="common-issues-with-load-runner">Common issues with Load Runner</h2>


<p>While HP Load Runner is a great tool to increase the quality of a product, technical issues can be frustrating as well. Here are some of the common issues experienced while working with Load Runner.</p>



<div class="su-box su-box-style-default" id="" style="border-color:#bfbfbf;border-radius:3px;"><div class="su-box-title" style="background-color:#f2f2f2;color:#6b6b6b;border-top-left-radius:1px;border-top-right-radius:1px">CASE 1 - When you save or compile VuGen scripts, they get corrupted</div><div class="su-box-content su-u-clearfix su-u-trim" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px">

<p>This is a common issue seen with most versions of LR. This issue is caused when you clean up the contents of the <strong>TEMP folder</strong>. Most of us use clean up tools that regularly clear up temporary files from the computer. Sometimes, you do it manually as well. With Windows OS, it is a common phenomenon that the original file is saved in the hard drive and a temporary copy is created in the temporary folder when you open any file.</p>

<p>So, when you clear contents of the temp folder while some VuGen scripts are open, the data is lost. When you save or compile the script, it fills the data with garbage.</p>

<p><em>To prevent this issue, do not clean up the system when you are working with VuGen scripts</em>.</p>

</div></div>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="su-box su-box-style-default" id="" style="border-color:#bfbfbf;border-radius:3px;"><div class="su-box-title" style="background-color:#f2f2f2;color:#6b6b6b;border-top-left-radius:1px;border-top-right-radius:1px">CASE 2 – LR closes or freezes when replaying scripts</div><div class="su-box-content su-u-clearfix su-u-trim" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px">

<p>This is another known issue particularly with version VuGen 11.04. When you replay scripts, it either freezes or closes automatically. This is because a <strong>thumbnail value is enabled</strong> in the registry and you need to disable it. To do so :</p>

<div class="su-list" style="margin-left:0px">
<ul style="font-size: 13.5px; line-height: 1.65em; overflow: hidden;">
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Go to Start -&gt; Run -&gt; RegEdit</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Navigate to HKEY_Local_Machine -&gt; Software</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> For 32-bit, go to Mercury Interactive -&gt; Load Runner -&gt; VuGen &#8211; &gt; Thumbnails</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> For 64-bit, go to Wow6432node &#8211; &gt; Mercury Interactive -&gt; Load Runner -&gt; VuGen &#8211; &gt; Thumbnails</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> On the right pane, go to GenerateThumbs Key. If the value is set to 1, change it to 0.</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Close the registry editor and restart the application</li>
</ul>
</div>
</div></div>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="su-box su-box-style-default" id="" style="border-color:#bfbfbf;border-radius:3px;"><div class="su-box-title" style="background-color:#f2f2f2;color:#6b6b6b;border-top-left-radius:1px;border-top-right-radius:1px">CASE 3 – LR Web Recording issues</div><div class="su-box-content su-u-clearfix su-u-trim" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px">

<p>There are several reasons for the web recording tool to stop recording. Here are few tips to try.</p>

<div class="su-list" style="margin-left:0px">
<ul style="font-size: 13.5px; line-height: 1.65em; overflow: hidden;">
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Check if the communication between the server and the client application is good.</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Web recording works fine when the application communicates using HTTP or HTTPS protocols.</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> When Non-HTML elements like JavaScript are used, you have to choose the right option for Non-HTML-generated elements under the HTML recording options.</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> Firewall or Anti-virus programs might interfere with the web recording component as well. Check this aspect.</li>
 	<li><i class="sui sui-hand-o-right" style="color:#46b80d"></i> If parasites like Huntbar are installed on the same machine, it will prevent LR from recording. Check this aspect as well.</li>
</ul>
</div>
</div></div>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>
<div class='the_champ_sharing_container the_champ_vertical_sharing the_champ_hide_sharing the_champ_bottom_sharing' style='width:42px;left: -10px;top: 222px;-webkit-box-shadow:none;box-shadow:none;' data-super-socializer-href="https://www.automationdojos.com/tag/automation/feed/"><div class="the_champ_sharing_ul"><a aria-label="Facebook" class="the_champ_facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13047" title="Facebook" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#0765FE;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path fill="#484848" d="M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z"></path></svg></span></a><a aria-label="Twitter" class="the_champ_button_twitter" href="https://twitter.com/intent/tweet?via=@testoxide&text=automation&url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13047" title="Twitter" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_twitter" style="background-color:#55acee;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-4 -4 39 39"><path d="M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z" fill="#484848"></path></svg></span></a><a aria-label="Linkedin" class="the_champ_button_linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13047" title="Linkedin" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_linkedin" style="background-color:#0077b5;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path d="M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z" fill="#484848"></path></svg></span></a><a aria-label="Pinterest" class="the_champ_button_pinterest" href="https://www.automationdojos.com/tag/automation/feed/" onclick="event.preventDefault();javascript:void((function(){var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());" title="Pinterest" rel="noopener" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_pinterest" style="background-color:#cc2329;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-2 -2 35 35"><path fill="#484848" d="M16.539 4.5c-6.277 0-9.442 4.5-9.442 8.253 0 2.272.86 4.293 2.705 5.046.303.125.574.005.662-.33.061-.231.205-.816.27-1.06.088-.331.053-.447-.191-.736-.532-.627-.873-1.439-.873-2.591 0-3.338 2.498-6.327 6.505-6.327 3.548 0 5.497 2.168 5.497 5.062 0 3.81-1.686 7.025-4.188 7.025-1.382 0-2.416-1.142-2.085-2.545.397-1.674 1.166-3.48 1.166-4.689 0-1.081-.581-1.983-1.782-1.983-1.413 0-2.548 1.462-2.548 3.419 0 1.247.421 2.091.421 2.091l-1.699 7.199c-.505 2.137-.076 4.755-.039 5.019.021.158.223.196.314.077.13-.17 1.813-2.247 2.384-4.324.162-.587.929-3.631.929-3.631.46.876 1.801 1.646 3.227 1.646 4.247 0 7.128-3.871 7.128-9.053.003-3.918-3.317-7.568-8.361-7.568z"/></svg></span></a><a aria-label="Reddit" class="the_champ_button_reddit" href="https://reddit.com/submit?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13047&title=automation" title="Reddit" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_reddit" style="background-color:#ff5700;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-3.5 -3.5 39 39"><path d="M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z" fill="#484848"/></svg></span></a><a aria-label="Whatsapp" class="the_champ_whatsapp" href="https://api.whatsapp.com/send?text=automation https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D13047" title="Whatsapp" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#55eb4c;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-6 -5 40 40"><path class="the_champ_svg_stroke the_champ_no_fill" stroke="#484848" stroke-width="2" fill="none" d="M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046"></path><path d="M 7 19 l -1 6 l 6 -1" class="the_champ_no_fill the_champ_svg_stroke" stroke="#484848" stroke-width="2" fill="none"></path><path d="M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4" fill="#484848"></path></svg></span></a><a class="the_champ_more" title="More" rel="nofollow noopener" style="font-size:24px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="https://www.automationdojos.com/?p=13047" onclick="event.preventDefault()"><span class="the_champ_svg" style="background-color:#ee8e2d;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;" onclick="theChampMoreSharingPopup(this, 'https://www.automationdojos.com/?p=13047', 'automation', '' )"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-.3 0 32 32" version="1.1" width="100%" height="100%" style="display:block;" xml:space="preserve"><g><path fill="#484848" d="M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z" fill-rule="evenodd"></path></g></svg></span></a></div></div><p>The post <a href="https://www.automationdojos.com/common-issues-load-runner/">Common Issues with HP Load Runner</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automationdojos.com/common-issues-load-runner/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Brief Review Of WATIR</title>
		<link>https://www.automationdojos.com/brief-review-of-watir/</link>
					<comments>https://www.automationdojos.com/brief-review-of-watir/#respond</comments>
		
		<dc:creator><![CDATA[Tushar Sharma]]></dc:creator>
		<pubDate>Mon, 21 Apr 2014 11:59:35 +0000</pubDate>
				<category><![CDATA[FT Automation]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Watir]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[watir]]></category>
		<guid isPermaLink="false">https://www.automationdojos.com/?p=12944</guid>

					<description><![CDATA[<p><a href="https://www.automationdojos.com/brief-review-of-watir/">A Brief Review Of WATIR</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="280" height="168" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-280x168.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-280x168.png 280w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-400x240.png 400w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review.png 575w" sizes="auto, (max-width: 280px) 100vw, 280px" /></p>
<p>WATIR stands for &#8216;Web Testing Application in Ruby&#8216;. It is an OLE-based testing application that automates your browser using Ruby libraries. Here are some of the pros and cons of Watir in brief at first glance. Functionality of Watir Watir takes advantage of the built-in OLE capabilities of Ruby to automate browsers. Normally, HTTP-based tools [&#8230;]</p>
<p>The post <a href="https://www.automationdojos.com/brief-review-of-watir/">A Brief Review Of WATIR</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.automationdojos.com/brief-review-of-watir/">A Brief Review Of WATIR</a> | As Published On <a href="https://www.automationdojos.com">Automation Dojos</a></p>
<p><img width="280" height="168" src="https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-280x168.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-280x168.png 280w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-300x180.png 300w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-150x90.png 150w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-200x120.png 200w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review-400x240.png 400w, https://www.automationdojos.com/wp-content/uploads/2020/05/post_watir-brief-review.png 575w" sizes="auto, (max-width: 280px) 100vw, 280px" /></p>
<p>WATIR stands for &#8216;<strong>Web Testing Application in Ruby</strong>&#8216;. It is an OLE-based testing application that automates your browser using Ruby libraries. Here are some of the pros and cons of Watir in brief at first glance.</p>


<h2 class="wp-block-heading" id="functionality-of-watir">Functionality of Watir</h2>


<p>Watir takes advantage of the built-in OLE capabilities of Ruby to automate browsers. Normally, HTTP-based tools create a browser simulator for a web-based testing system. Watir works in a different way wherein it takes the browser through the OLE protocol. By implementing the OLE protocol over Component Object Model (COM) architecture, Watir facilitates inter-process communication between the browser and Ruby. Dynamic object creation and manipulation is made possible as well.</p>



<p>For Internet Explorer, this process is called OLE Automation. The program that manipulates objects is called the automation controller. The automation objects are served by the Internet Explorer which is why it is called as the server. On the other hand, the Ruby program acts as a client to manipulate objects.</p>



<div class="rt-block">


<h2 class="wp-block-heading" id="watir-advantages">WATIR Advantages</h2>

<div class="su-list" style="margin-left:0px">
<ul>
<li><i class="sui sui-plus" style="color:#66b04b"></i> Uses the Ruby library to facilitate OLE-based testing. This approach eliminates the need for an external server.</li>
<li><i class="sui sui-plus" style="color:#66b04b"></i> Supports multi browsers and OS. You can write tests for new browsers as well.</li>
<li><i class="sui sui-plus" style="color:#66b04b"></i> Offers a rich and intuitive interface. Easy to create code without requiring extensive documentation.</li>
<li><i class="sui sui-plus" style="color:#66b04b"></i> One of the important features of WATIR is its ability to wait for the page to load. It detects when the page finishes loading. Moreover, tests run faster and are stable when compared with Selenium or Sahi.</li>
<li><i class="sui sui-plus" style="color:#66b04b"></i> Another important feature is the Attach Method. You can programmatically attach the original domain window and the linked domain window. For instance, you use Facebook to login to an application. The login page of your application will load the Facebook domain. With other tools like Selenium, the actual application loses connection when the linked domain is opened and the application gets locked. However, WATIR lets you attach both domains so that you access the linked window and the original window from the same test.</li>
</ul>
</div>


</div>



<div class="rt-block">


<h2 id="block-78e7de9a-9491-42be-b2c9-a5922adeba31" class="block-editor-rich-text__editable block-editor-block-list__block wp-block tagdiv-type block-78e7de9a-9491-42be-b2c9-a5922adeba31 is-selected wp-block-heading rich-text" tabindex="0" role="group" aria-multiline="true" aria-label="Block: Heading" data-block="78e7de9a-9491-42be-b2c9-a5922adeba31" data-type="core/heading" data-title="Heading">WATIR Disadvantage</h2>
<div class="su-list" style="margin-left:0px">
<ul>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> Limited support to handle Popups. JavaScript generated popups such as Alert boxes, Windows Security popups, and other popups that are not contained in a web browser are not accessible the same way as the HTML pages are. There has been some experimental code packaged with Watir to deal with popups with limited success. A good popup handling solution is being worked on and will be included in a future Watir release.</li>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> AUT Object repository/definitions are not available within the WATIR. Third-party tools such as MS Web Developer Toolbar have to be employed but have limited capabilities and usability.</li>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> No Real-time Debugging options or debugger.</li>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> Works only for Web-based application, does not has the capability to automate non web-based applications.</li>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> There is no recording mode or any such mode to generate scripts automatically. Scripts have to be written manually.</li>
<li><i class="sui sui-minus-circle" style="color:#c32719"></i> While WATIR supports multiple browsers, you have to use a different library for each browser. You have to learn Ruby as well.</li>
</ul>
</div>


</div>
<div class='the_champ_sharing_container the_champ_vertical_sharing the_champ_hide_sharing the_champ_bottom_sharing' style='width:42px;left: -10px;top: 222px;-webkit-box-shadow:none;box-shadow:none;' data-super-socializer-href="https://www.automationdojos.com/tag/automation/feed/"><div class="the_champ_sharing_ul"><a aria-label="Facebook" class="the_champ_facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D12944" title="Facebook" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#0765FE;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path fill="#484848" d="M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z"></path></svg></span></a><a aria-label="Twitter" class="the_champ_button_twitter" href="https://twitter.com/intent/tweet?via=@testoxide&text=automation&url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D12944" title="Twitter" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_twitter" style="background-color:#55acee;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-4 -4 39 39"><path d="M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z" fill="#484848"></path></svg></span></a><a aria-label="Linkedin" class="the_champ_button_linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D12944" title="Linkedin" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_linkedin" style="background-color:#0077b5;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 32"><path d="M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z" fill="#484848"></path></svg></span></a><a aria-label="Pinterest" class="the_champ_button_pinterest" href="https://www.automationdojos.com/tag/automation/feed/" onclick="event.preventDefault();javascript:void((function(){var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());" title="Pinterest" rel="noopener" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_pinterest" style="background-color:#cc2329;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-2 -2 35 35"><path fill="#484848" d="M16.539 4.5c-6.277 0-9.442 4.5-9.442 8.253 0 2.272.86 4.293 2.705 5.046.303.125.574.005.662-.33.061-.231.205-.816.27-1.06.088-.331.053-.447-.191-.736-.532-.627-.873-1.439-.873-2.591 0-3.338 2.498-6.327 6.505-6.327 3.548 0 5.497 2.168 5.497 5.062 0 3.81-1.686 7.025-4.188 7.025-1.382 0-2.416-1.142-2.085-2.545.397-1.674 1.166-3.48 1.166-4.689 0-1.081-.581-1.983-1.782-1.983-1.413 0-2.548 1.462-2.548 3.419 0 1.247.421 2.091.421 2.091l-1.699 7.199c-.505 2.137-.076 4.755-.039 5.019.021.158.223.196.314.077.13-.17 1.813-2.247 2.384-4.324.162-.587.929-3.631.929-3.631.46.876 1.801 1.646 3.227 1.646 4.247 0 7.128-3.871 7.128-9.053.003-3.918-3.317-7.568-8.361-7.568z"/></svg></span></a><a aria-label="Reddit" class="the_champ_button_reddit" href="https://reddit.com/submit?url=https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D12944&title=automation" title="Reddit" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg the_champ_s__default the_champ_s_reddit" style="background-color:#ff5700;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-3.5 -3.5 39 39"><path d="M28.543 15.774a2.953 2.953 0 0 0-2.951-2.949 2.882 2.882 0 0 0-1.9.713 14.075 14.075 0 0 0-6.85-2.044l1.38-4.349 3.768.884a2.452 2.452 0 1 0 .24-1.176l-4.274-1a.6.6 0 0 0-.709.4l-1.659 5.224a14.314 14.314 0 0 0-7.316 2.029 2.908 2.908 0 0 0-1.872-.681 2.942 2.942 0 0 0-1.618 5.4 5.109 5.109 0 0 0-.062.765c0 4.158 5.037 7.541 11.229 7.541s11.22-3.383 11.22-7.541a5.2 5.2 0 0 0-.053-.706 2.963 2.963 0 0 0 1.427-2.51zm-18.008 1.88a1.753 1.753 0 0 1 1.73-1.74 1.73 1.73 0 0 1 1.709 1.74 1.709 1.709 0 0 1-1.709 1.711 1.733 1.733 0 0 1-1.73-1.711zm9.565 4.968a5.573 5.573 0 0 1-4.081 1.272h-.032a5.576 5.576 0 0 1-4.087-1.272.6.6 0 0 1 .844-.854 4.5 4.5 0 0 0 3.238.927h.032a4.5 4.5 0 0 0 3.237-.927.6.6 0 1 1 .844.854zm-.331-3.256a1.726 1.726 0 1 1 1.709-1.712 1.717 1.717 0 0 1-1.712 1.712z" fill="#484848"/></svg></span></a><a aria-label="Whatsapp" class="the_champ_whatsapp" href="https://api.whatsapp.com/send?text=automation https%3A%2F%2Fwww.automationdojos.com%2F%3Fp%3D12944" title="Whatsapp" rel="nofollow noopener" target="_blank" style="font-size:24px!important;box-shadow:none;display:inline-block;vertical-align:middle"><span class="the_champ_svg" style="background-color:#55eb4c;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block;opacity:1;float:left;font-size:24px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box"><svg style="display:block;" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="-6 -5 40 40"><path class="the_champ_svg_stroke the_champ_no_fill" stroke="#484848" stroke-width="2" fill="none" d="M 11.579798566743314 24.396926207859085 A 10 10 0 1 0 6.808479557110079 20.73576436351046"></path><path d="M 7 19 l -1 6 l 6 -1" class="the_champ_no_fill the_champ_svg_stroke" stroke="#484848" stroke-width="2" fill="none"></path><path d="M 10 10 q -1 8 8 11 c 5 -1 0 -6 -1 -3 q -4 -3 -5 -5 c 4 -2 -1 -5 -1 -4" fill="#484848"></path></svg></span></a><a class="the_champ_more" title="More" rel="nofollow noopener" style="font-size:24px!important;border:0;box-shadow:none;display:inline-block!important;font-size:16px;padding:0 4px;vertical-align: middle;display:inline;" href="https://www.automationdojos.com/?p=12944" onclick="event.preventDefault()"><span class="the_champ_svg" style="background-color:#ee8e2d;width:38px;height:38px;border-radius:3px;margin:0;display:inline-block!important;opacity:1;float:left;font-size:32px!important;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;display:inline;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box;" onclick="theChampMoreSharingPopup(this, 'https://www.automationdojos.com/?p=12944', 'automation', '' )"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-.3 0 32 32" version="1.1" width="100%" height="100%" style="display:block;" xml:space="preserve"><g><path fill="#484848" d="M18 14V8h-4v6H8v4h6v6h4v-6h6v-4h-6z" fill-rule="evenodd"></path></g></svg></span></a></div></div><p>The post <a href="https://www.automationdojos.com/brief-review-of-watir/">A Brief Review Of WATIR</a> appeared first on <a href="https://www.automationdojos.com">Automation Dojos</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automationdojos.com/brief-review-of-watir/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
