<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Introduction_to_Selenium</id>
	<title>Introduction to Selenium - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Introduction_to_Selenium"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Introduction_to_Selenium&amp;action=history"/>
	<updated>2026-05-13T02:36:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Introduction_to_Selenium&amp;diff=61524&amp;oldid=prev</id>
		<title>Apatrakov at 15:15, 2 October 2017</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Introduction_to_Selenium&amp;diff=61524&amp;oldid=prev"/>
		<updated>2017-10-02T15:15:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;false&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: Introduction to Selenium&lt;br /&gt;
;author: Shabana Khanam&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Day 1 =&lt;br /&gt;
== Day 1 Agenda ⌘==&lt;br /&gt;
* Why automation ?&lt;br /&gt;
* Selenium 1&lt;br /&gt;
* Exercise&lt;br /&gt;
* Selenium RC&lt;br /&gt;
* Architecture&lt;br /&gt;
* Exercise&lt;br /&gt;
* Limitations of Selenium RC&lt;br /&gt;
* Introduction to WebDriver&lt;br /&gt;
&lt;br /&gt;
==Selenium IDE ⌘==&lt;br /&gt;
* Free Firefox plug-in&lt;br /&gt;
* Selenium IDE adds a layer of Record/Playback to Selenium.&lt;br /&gt;
* Provides the ability to debug test scripts.&lt;br /&gt;
* Auto complete common selenium commands&lt;br /&gt;
* Export tests in different formats like HTML,Ruby,Python,JUnit and so on&lt;br /&gt;
* Supports user extensions.&lt;br /&gt;
&lt;br /&gt;
== Exercise Selenium IDE ⌘==&lt;br /&gt;
* Record a test&lt;br /&gt;
* Parametrize test&lt;br /&gt;
* Execute test&lt;br /&gt;
&lt;br /&gt;
== Exercise ⌘==&lt;br /&gt;
* Open &amp;#039;&amp;#039;google&amp;#039;&amp;#039; in Firefox&lt;br /&gt;
* Open Selenium IDE,Tools -Selenium IDE&lt;br /&gt;
* Ensure that Selenium IDE is in recording mode&lt;br /&gt;
* Type “&amp;#039;&amp;#039;NobleProg&amp;#039;&amp;#039;” in the google search bar and click search&lt;br /&gt;
* On the search results verify that “&amp;#039;&amp;#039;NobleProg - Training Courses and Consultancy | NobleProg&amp;#039;&amp;#039;” is present.&lt;br /&gt;
* Save the test case as search_ide&lt;br /&gt;
* Run saved test case back again using the IDE&lt;br /&gt;
* View the results back in IDE&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
What are Limitations of Selenium  IDE ?&lt;br /&gt;
&lt;br /&gt;
== Selenium Remote Control ⌘==&lt;br /&gt;
* A server, written in Java and so available on all platforms.&lt;br /&gt;
* Acts as a proxy for web requests from them.&lt;br /&gt;
* Client libraries for many popular languages.&lt;br /&gt;
* Bundles Selenium Core and automatically loads into the browser.&lt;br /&gt;
&lt;br /&gt;
==Exercise – Selenium RC ⌘==&lt;br /&gt;
* Import test scenario created in Exercise 1&lt;br /&gt;
* Any comfortable language&lt;br /&gt;
* Add the same to Development IDE&lt;br /&gt;
* Execute the test&lt;br /&gt;
* Parameterize test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ⌘==&lt;br /&gt;
Is Selenium RC better ?&lt;br /&gt;
&lt;br /&gt;
==Selenium RC Benefits ⌘==&lt;br /&gt;
* Can be used for any Java Script Enabled browser.&lt;br /&gt;
* Have access to the complete features/libraries of the high level language&lt;br /&gt;
* Can be used to automate complex test cases.&lt;br /&gt;
* Makes it possible to create fast,robust and  scalable automation.&lt;br /&gt;
&lt;br /&gt;
==Interesting Stuff ⌘==&lt;br /&gt;
* Element Locators&lt;br /&gt;
** Based on Xpath, firepath is handy  &lt;br /&gt;
** Based on DOM&lt;br /&gt;
* Element Filters&lt;br /&gt;
** Based on Index&lt;br /&gt;
** Based on value&lt;br /&gt;
* Regular Expression&lt;br /&gt;
* WaitForXXX, eval, screenshot and so on.&lt;br /&gt;
&lt;br /&gt;
==Selenium Remote Control ⌘==&lt;br /&gt;
[[File:Selenium-problem.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Selenium Present Problems ⌘==&lt;br /&gt;
[[File:Selenium-present-problems1.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Test Automation Problems⌘==&lt;br /&gt;
* What should be automated&lt;br /&gt;
* Who write automated tests&lt;br /&gt;
* When to stop automating&lt;br /&gt;
* For who are the automated tests&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Any thoughts on how Selenium RC issues were Mitigated ??? &lt;br /&gt;
&lt;br /&gt;
== New API - WebDriver ⌘==&lt;br /&gt;
* To mitigate most of the issues Selenium RC had&lt;br /&gt;
* Selenium 2 Bindings along side Selenium 1&lt;br /&gt;
* One jar that holds the Selenium 1 Remote Control and the new Selenium Server.&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
What were the effects of Merge Any Thoughts ???? &lt;br /&gt;
&lt;br /&gt;
== - ⌘==&lt;br /&gt;
* Simpler API&lt;br /&gt;
* Speed&lt;br /&gt;
* Scalability&lt;br /&gt;
* Shared Javascript Atoms&lt;br /&gt;
* Previous client Languages still the same&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Frameworks already on Selenium should we decommission them ??⌘==&lt;br /&gt;
&lt;br /&gt;
== Moving from 1 to 2⌘==&lt;br /&gt;
WebDriverBackedSelenium&lt;br /&gt;
&lt;br /&gt;
 WebDriver driver = new FirefoxDriver();&lt;br /&gt;
 Selenium sel = new WebDriverBackedSelenium(driver,”http://google.com”);&lt;br /&gt;
 selenium.open(“/”);&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Selenium 2 Made Automation Easy &lt;br /&gt;
&lt;br /&gt;
= Day 2 =&lt;br /&gt;
== Day 2 Agenda ⌘==&lt;br /&gt;
* Design Tests&lt;br /&gt;
* Design Patterns and Development Strategies&lt;br /&gt;
* Cross browser Testing&lt;br /&gt;
* AJAX Applications&lt;br /&gt;
* Handling Alerts&lt;br /&gt;
* Windows Authentication&lt;br /&gt;
&lt;br /&gt;
== How to Avoid Ambiguous/Meaningless framework ⌘==&lt;br /&gt;
Intent				Action&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Action ⌘==&lt;br /&gt;
* Open http://gmail.com&lt;br /&gt;
* type &amp;#039;User Id&amp;#039;,&amp;#039;someone@gmail.com&amp;#039;&lt;br /&gt;
* Type &amp;#039;password&amp;#039;,&amp;#039;password123&amp;#039;&lt;br /&gt;
* ClickAndWait &amp;#039;Log In&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Intent ⌘==&lt;br /&gt;
* Login&lt;br /&gt;
* Change password&lt;br /&gt;
* Modify profile&lt;br /&gt;
* Log out&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Write Intent&lt;br /&gt;
Map to Actions&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Seek High level&lt;br /&gt;
abstractions&lt;br /&gt;
&lt;br /&gt;
== ⌘==&lt;br /&gt;
Hudson/Jenkins&lt;br /&gt;
&lt;br /&gt;
↓&lt;br /&gt;
&lt;br /&gt;
Ant/Maven&lt;br /&gt;
&lt;br /&gt;
↓&lt;br /&gt;
&lt;br /&gt;
JUnit/TestNG&lt;br /&gt;
&lt;br /&gt;
↓&lt;br /&gt;
&lt;br /&gt;
Business Specific Library of Functions&lt;br /&gt;
&lt;br /&gt;
↓&lt;br /&gt;
&lt;br /&gt;
Selenium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start small ⌘==&lt;br /&gt;
[[File:Selenium-start.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==It&amp;#039;ll get big anyway ⌘==&lt;br /&gt;
[[File:Selenium-big.jpg]]&lt;br /&gt;
&lt;br /&gt;
==What to start with ?⌘==&lt;br /&gt;
* Smoke tests&lt;br /&gt;
* Revenue Paths&lt;br /&gt;
* New Features&lt;br /&gt;
* Sanity tests&lt;br /&gt;
&lt;br /&gt;
==Benefits from Short Tests ⌘==&lt;br /&gt;
* Easier to read&lt;br /&gt;
* Easier to write&lt;br /&gt;
* Easier to debug/maintain&lt;br /&gt;
* Easier to parallelize&lt;br /&gt;
&lt;br /&gt;
==Links⌘==&lt;br /&gt;
For more information&lt;br /&gt;
&lt;br /&gt;
http://seleniumhq.org&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/selenium&lt;/div&gt;</summary>
		<author><name>Apatrakov</name></author>
	</entry>
</feed>