SlideShare a Scribd company logo
1 of 17
Download to read offline
Selenium Basics Workshop

Frank Cohen, +01 (408) 871-0122, fcohen@pushtotest.com

                    April 20, 2011
Open Source Test Automation




About PushToTest
‣ Our Mission: Test, To Make A More Reliable World
‣ Make It Easier To Move From Manual To Automated Testing
‣ Support Advanced Testing, including Agile, Load, Integration
‣ Open Source Testing (OST) For Everyone



2
Open Source Test Automation




Today
‣ How To Use Selenium in Rich Internet Application (RIA, using Ajax)
  Environments

‣ How To Data Enable Selenium Tests Using TestMaker
‣ Testing in Flash/Flex Environments Using AMF Protocols
‣ Integrating TestMaker Tests Into Your Continuous Integration
  Environment

‣ How To Analyze Test Results Into Actionable Knowledge

3
Open Source Test Automation




Manual Testing Process
          Results




                        4                    1



      Recommend Changes
                                              Explore
                              Manual
                              Testing

                                                         Tes
                    3                                        t
                                              2         Plan



4        Run The Test Steps
                                        Create Test Plans
Open Source Test Automation




Side Effects
‣ Exhaustion
‣ Fatigue
‣ Blurry Vision
‣ Night Sweats
‣ Insanity
‣ Hair Loss
‣ Acne
‣ Divorce
5
Open Source Test Automation




OST Architecture
                                Application Under Test                                     PTTMonitor
                                      Web, RIA, BPM, SOA                                 CPU, Net, Memory




Functional
                                                   Test Injector                                                   Test Authoring
   Test
                   Bundles                   ScriptRunners               Data Production Libraries                      SoapUI (Pro)
                MySQL, HtmlUnit         Sahi, Selenium, SoapUI, Java        csv files, rdbms queries                      Sahi (Pro)
                                                                                                                   JUnit Class Framework
Load Test                                                                                                             Eclipse Java IDE
                                                                                                                           Fitness
                                          Test Operation Console                                                  Languages: Java, Python
                                                                                                                     Wiki Collaboration

Production      Designer           Grid and Cloud           Repository          Results Analysis
              Record/Playback       Test Deployment        MySQL RDBMS        Business Intelligence Tool
 Monitor


             Continuous                                                   Test
                                  Repository          Bug Tracker                          Monitoring
             Integration                                               Management




6
Open Source Test Automation




Selenium Browser Automation
‣ Selenium Core
‣ Selenium RC
‣ Selenium Grid
‣ Selenium IDE
‣ Selenium Domain Specific Language (DSL)


7
Open Source Test Automation




Selenium Architecture
                      Selenium 1                                  Selenium 2 (WebDriver)

                                        Browser                                               Browser

                                         iFrame                                              Browser API
    Selenium Client      Selenium RC                 Selenium Client   Selenium Server
                                       Browserbot                                            Application
                                                                                             Under Test
                                       Application
                                                                                               (AUT)
                                       Under Test
                                         (AUT)                                                  DOM
                                          DOM
                                                                                              Javascript
                                       Javascript




8
Open Source Test Automation




Selenium Language Basics
‣ Page Commands
‣ Element Commands
‣ Validation Commands
‣ Assertion Commands
‣ Storage Commands


9
Open Source Test Automation




Selenium Locators
‣ Identifiers
  ‣ loginForm
  ‣ id=loginForm
  ‣ name=loginForm
‣ XPath (1.0 from W3C, no support of 2.0 and XQuery)
‣ Link Locator
  ‣ link=Continue <a href=”myurl”>Continue</a>
‣ DOM APIs
  ‣ dom=document.getElementById('loginForm')
‣ CSS Selectors
10
  ‣ css=input.required[type="text"]
Open Source Test Automation




Event Handling and Ajax
‣ Selenium Tests Are Event Oriented
  ‣ Not Timing Oriented
‣ Ajax Web Objects
  ‣ Complicated Structures
  ‣ Dynamic Values
  ‣ Asynchronous Events
  ‣ No Standards
‣ Ajax Example
11
Open Source Test Automation




We Recommend
            Do                Don’t
       Components             Pause
      Record -> Script   Use Static Values
     Dynamic Locators     Storage Values
      Work With Devs      Test and Trash
          Events         Expect The Same


12
Open Source Test Automation




Flex, Flash Testing
‣ Extend the Selenium RC clients for adding Flash communication
  ‣ http://code.google.com/p/flex-ui-selenium/
  ‣ http://code.google.com/p/flash-selenium/
       public void sumForValidNumbers() {
            flexUITester.type("2").at("arg1");
            flexUITester.type("3").at("arg2");
            flexUITester.click("submit");
            assertEquals("5", flexUITester.readFrom("result"));
       }



‣ Flex Automation API - Flexmonkium
13
Open Source Test Automation




TestMaker and Selenium
            Application Under Test




                       TestNode
         Selenium RC              SeleniumHtmlUnit

                   Selenese Test




            TestMaker Console

14
Open Source Test Automation




TestMaker Object Designer
‣ Point-and-Click Functional Test Record/Playback
‣ Record Tests In IE, Chrome, Firefox, Safari, Opera
‣ Automatic Ajax Synchronization
‣ Drag-and-Drop Data Driven Testing
‣ Creates Selenium, Sahi, and Flex Tests


15
Open Source Test Automation




Resources
‣ http://www.pushtotest.com/
‣ http://seleniumhq.org
‣ http://selenium.pushtotest.com
‣ http://refcardz.dzone.com/refcardz/getting-started-selenium
‣ http://refcardz.dzone.com/refcardz/getting-started-selenium-20
‣ http://www.pushtotest.com/products-comparison
‣ http://www.pushtotest.com/selenium-conference-2011-analysis
‣ http://www.slideshare.net/frankcohen/selenium-xpath-performance-
  problems-in-ie
16
Open Source Test Automation




Where To Go From Here
‣ Watch A Screencast and Tutorial
  ‣ http://www.pushtotest.com/screencastcentral
‣ The Selenium Tutorial for Beginners
  ‣ http://www.pushtotest.com/selenium-webinar-series
‣ Attend An Open Source Test Workshop
  ‣ http://workshop.pushtotest.com
‣ Ask For A Proposal on Licenses, Training, Support, Consulting
  ‣ Call +01 408 871 0122, sales@pushtotest.com
17

More Related Content

What's hot

An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriverAnuraj S.L
 
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Edureka!
 
Py.test
Py.testPy.test
Py.testsoasme
 
Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with SeleniumKerry Buckley
 
Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium  Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium Zoe Gilbert
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With CypressKnoldus Inc.
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniumshreyas JC
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Simplilearn
 

What's hot (20)

An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Ubuntu File System
Ubuntu File SystemUbuntu File System
Ubuntu File System
 
PHPUnit - Unit testing
PHPUnit - Unit testingPHPUnit - Unit testing
PHPUnit - Unit testing
 
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
Py.test
Py.testPy.test
Py.test
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with Selenium
 
SELENIUM PPT.pdf
SELENIUM PPT.pdfSELENIUM PPT.pdf
SELENIUM PPT.pdf
 
Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium  Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With Cypress
 
Selenium
SeleniumSelenium
Selenium
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium WebDriver training
Selenium WebDriver trainingSelenium WebDriver training
Selenium WebDriver training
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
 
Selenium with java
Selenium with javaSelenium with java
Selenium with java
 

Similar to Selenium Basics Tutorial

Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerMigrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerClever Moe
 
Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Clever Moe
 
New Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingNew Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingClever Moe
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsClever Moe
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooClever Moe
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersClever Moe
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersClever Moe
 
Where Testing and Test Management Collide
Where Testing and Test Management CollideWhere Testing and Test Management Collide
Where Testing and Test Management CollideClever Moe
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniumTờ Rang
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevillePromet Source
 
San Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationSan Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationClever Moe
 
Data driven automation testing of web applications using selenium
Data driven automation testing of web applications using seleniumData driven automation testing of web applications using selenium
Data driven automation testing of web applications using seleniumanandseelan
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATClever Moe
 
Selenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IESelenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IEClever Moe
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads ConferenceIndicThreads
 
Growing Trends of Open Source UI Frameworks
Growing Trends of Open Source UI FrameworksGrowing Trends of Open Source UI Frameworks
Growing Trends of Open Source UI FrameworksSmartBear
 
TestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsTestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsClever Moe
 
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUI
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUISPA 2009 - Acceptance Testing AJAX Web Applications through the GUI
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUIandrew.macleod
 

Similar to Selenium Basics Tutorial (20)

Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerMigrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
 
Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6
 
New Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingNew Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX Testing
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business Managers
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, Managers
 
Where Testing and Test Management Collide
Where Testing and Test Management CollideWhere Testing and Test Management Collide
Where Testing and Test Management Collide
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in Asheville
 
Codeception
CodeceptionCodeception
Codeception
 
San Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationSan Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker Presentation
 
Data driven automation testing of web applications using selenium
Data driven automation testing of web applications using seleniumData driven automation testing of web applications using selenium
Data driven automation testing of web applications using selenium
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JAT
 
Selenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IESelenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IE
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
Growing Trends of Open Source UI Frameworks
Growing Trends of Open Source UI FrameworksGrowing Trends of Open Source UI Frameworks
Growing Trends of Open Source UI Frameworks
 
TestMaker Object Designer Training - Basics
TestMaker Object Designer Training - BasicsTestMaker Object Designer Training - Basics
TestMaker Object Designer Training - Basics
 
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUI
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUISPA 2009 - Acceptance Testing AJAX Web Applications through the GUI
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUI
 

More from Clever Moe

6 solutions to ad costs going up while results are flat.
6 solutions to ad costs going up while results are flat.6 solutions to ad costs going up while results are flat.
6 solutions to ad costs going up while results are flat.Clever Moe
 
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...1.6 billion people are on Facebook, how will you get to the 1 that buys your ...
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...Clever Moe
 
How do I get good at Twitter Ads?
How do I get good at Twitter Ads?How do I get good at Twitter Ads?
How do I get good at Twitter Ads?Clever Moe
 
Marketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsMarketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsClever Moe
 
Local customers are out there, just where
Local customers are out there, just whereLocal customers are out there, just where
Local customers are out there, just whereClever Moe
 
Do i need an ad agency to be good at facebook ads
Do i need an ad agency to be good at facebook adsDo i need an ad agency to be good at facebook ads
Do i need an ad agency to be good at facebook adsClever Moe
 
I know facebook ads, how do i expand to twitter, linked in, youtube
I know facebook ads, how do i expand to twitter, linked in, youtubeI know facebook ads, how do i expand to twitter, linked in, youtube
I know facebook ads, how do i expand to twitter, linked in, youtubeClever Moe
 
5 solutions to the digital ad networks unsolvable puzzle
5 solutions to the digital ad networks unsolvable puzzle5 solutions to the digital ad networks unsolvable puzzle
5 solutions to the digital ad networks unsolvable puzzleClever Moe
 
Instagram ads look super complicated, what can i do in 15 minutes?
Instagram ads look super complicated, what can i do in 15 minutes?Instagram ads look super complicated, what can i do in 15 minutes?
Instagram ads look super complicated, what can i do in 15 minutes?Clever Moe
 
How to get 1,000 people to look at your product for $1,000
How to get 1,000 people to look at your product for $1,000How to get 1,000 people to look at your product for $1,000
How to get 1,000 people to look at your product for $1,000Clever Moe
 
Defending your ad budget from Facebook and LinkedIn AIs
Defending your ad budget from Facebook and LinkedIn AIsDefending your ad budget from Facebook and LinkedIn AIs
Defending your ad budget from Facebook and LinkedIn AIsClever Moe
 
Do i need an ad agency to be good at Facebook ads?
Do i need an ad agency to be good at Facebook ads?Do i need an ad agency to be good at Facebook ads?
Do i need an ad agency to be good at Facebook ads?Clever Moe
 
Marketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsMarketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsClever Moe
 
Making With A Disney Imagineer and Muppeteer
Making With A Disney Imagineer and MuppeteerMaking With A Disney Imagineer and Muppeteer
Making With A Disney Imagineer and MuppeteerClever Moe
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationClever Moe
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...Clever Moe
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudClever Moe
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudClever Moe
 

More from Clever Moe (20)

6 solutions to ad costs going up while results are flat.
6 solutions to ad costs going up while results are flat.6 solutions to ad costs going up while results are flat.
6 solutions to ad costs going up while results are flat.
 
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...1.6 billion people are on Facebook, how will you get to the 1 that buys your ...
1.6 billion people are on Facebook, how will you get to the 1 that buys your ...
 
How do I get good at Twitter Ads?
How do I get good at Twitter Ads?How do I get good at Twitter Ads?
How do I get good at Twitter Ads?
 
Marketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsMarketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy steps
 
Local customers are out there, just where
Local customers are out there, just whereLocal customers are out there, just where
Local customers are out there, just where
 
Do i need an ad agency to be good at facebook ads
Do i need an ad agency to be good at facebook adsDo i need an ad agency to be good at facebook ads
Do i need an ad agency to be good at facebook ads
 
I know facebook ads, how do i expand to twitter, linked in, youtube
I know facebook ads, how do i expand to twitter, linked in, youtubeI know facebook ads, how do i expand to twitter, linked in, youtube
I know facebook ads, how do i expand to twitter, linked in, youtube
 
5 solutions to the digital ad networks unsolvable puzzle
5 solutions to the digital ad networks unsolvable puzzle5 solutions to the digital ad networks unsolvable puzzle
5 solutions to the digital ad networks unsolvable puzzle
 
Instagram ads look super complicated, what can i do in 15 minutes?
Instagram ads look super complicated, what can i do in 15 minutes?Instagram ads look super complicated, what can i do in 15 minutes?
Instagram ads look super complicated, what can i do in 15 minutes?
 
How to get 1,000 people to look at your product for $1,000
How to get 1,000 people to look at your product for $1,000How to get 1,000 people to look at your product for $1,000
How to get 1,000 people to look at your product for $1,000
 
Defending your ad budget from Facebook and LinkedIn AIs
Defending your ad budget from Facebook and LinkedIn AIsDefending your ad budget from Facebook and LinkedIn AIs
Defending your ad budget from Facebook and LinkedIn AIs
 
Do i need an ad agency to be good at Facebook ads?
Do i need an ad agency to be good at Facebook ads?Do i need an ad agency to be good at Facebook ads?
Do i need an ad agency to be good at Facebook ads?
 
Marketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy stepsMarketing faster than your competitors in 5 easy steps
Marketing faster than your competitors in 5 easy steps
 
Making With A Disney Imagineer and Muppeteer
Making With A Disney Imagineer and MuppeteerMaking With A Disney Imagineer and Muppeteer
Making With A Disney Imagineer and Muppeteer
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloud
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Selenium Basics Tutorial

  • 1. Selenium Basics Workshop Frank Cohen, +01 (408) 871-0122, fcohen@pushtotest.com April 20, 2011
  • 2. Open Source Test Automation About PushToTest ‣ Our Mission: Test, To Make A More Reliable World ‣ Make It Easier To Move From Manual To Automated Testing ‣ Support Advanced Testing, including Agile, Load, Integration ‣ Open Source Testing (OST) For Everyone 2
  • 3. Open Source Test Automation Today ‣ How To Use Selenium in Rich Internet Application (RIA, using Ajax) Environments ‣ How To Data Enable Selenium Tests Using TestMaker ‣ Testing in Flash/Flex Environments Using AMF Protocols ‣ Integrating TestMaker Tests Into Your Continuous Integration Environment ‣ How To Analyze Test Results Into Actionable Knowledge 3
  • 4. Open Source Test Automation Manual Testing Process Results 4 1 Recommend Changes Explore Manual Testing Tes 3 t 2 Plan 4 Run The Test Steps Create Test Plans
  • 5. Open Source Test Automation Side Effects ‣ Exhaustion ‣ Fatigue ‣ Blurry Vision ‣ Night Sweats ‣ Insanity ‣ Hair Loss ‣ Acne ‣ Divorce 5
  • 6. Open Source Test Automation OST Architecture Application Under Test PTTMonitor Web, RIA, BPM, SOA CPU, Net, Memory Functional Test Injector Test Authoring Test Bundles ScriptRunners Data Production Libraries SoapUI (Pro) MySQL, HtmlUnit Sahi, Selenium, SoapUI, Java csv files, rdbms queries Sahi (Pro) JUnit Class Framework Load Test Eclipse Java IDE Fitness Test Operation Console Languages: Java, Python Wiki Collaboration Production Designer Grid and Cloud Repository Results Analysis Record/Playback Test Deployment MySQL RDBMS Business Intelligence Tool Monitor Continuous Test Repository Bug Tracker Monitoring Integration Management 6
  • 7. Open Source Test Automation Selenium Browser Automation ‣ Selenium Core ‣ Selenium RC ‣ Selenium Grid ‣ Selenium IDE ‣ Selenium Domain Specific Language (DSL) 7
  • 8. Open Source Test Automation Selenium Architecture Selenium 1 Selenium 2 (WebDriver) Browser Browser iFrame Browser API Selenium Client Selenium RC Selenium Client Selenium Server Browserbot Application Under Test Application (AUT) Under Test (AUT) DOM DOM Javascript Javascript 8
  • 9. Open Source Test Automation Selenium Language Basics ‣ Page Commands ‣ Element Commands ‣ Validation Commands ‣ Assertion Commands ‣ Storage Commands 9
  • 10. Open Source Test Automation Selenium Locators ‣ Identifiers ‣ loginForm ‣ id=loginForm ‣ name=loginForm ‣ XPath (1.0 from W3C, no support of 2.0 and XQuery) ‣ Link Locator ‣ link=Continue <a href=”myurl”>Continue</a> ‣ DOM APIs ‣ dom=document.getElementById('loginForm') ‣ CSS Selectors 10 ‣ css=input.required[type="text"]
  • 11. Open Source Test Automation Event Handling and Ajax ‣ Selenium Tests Are Event Oriented ‣ Not Timing Oriented ‣ Ajax Web Objects ‣ Complicated Structures ‣ Dynamic Values ‣ Asynchronous Events ‣ No Standards ‣ Ajax Example 11
  • 12. Open Source Test Automation We Recommend Do Don’t Components Pause Record -> Script Use Static Values Dynamic Locators Storage Values Work With Devs Test and Trash Events Expect The Same 12
  • 13. Open Source Test Automation Flex, Flash Testing ‣ Extend the Selenium RC clients for adding Flash communication ‣ http://code.google.com/p/flex-ui-selenium/ ‣ http://code.google.com/p/flash-selenium/ public void sumForValidNumbers() { flexUITester.type("2").at("arg1"); flexUITester.type("3").at("arg2"); flexUITester.click("submit"); assertEquals("5", flexUITester.readFrom("result")); } ‣ Flex Automation API - Flexmonkium 13
  • 14. Open Source Test Automation TestMaker and Selenium Application Under Test TestNode Selenium RC SeleniumHtmlUnit Selenese Test TestMaker Console 14
  • 15. Open Source Test Automation TestMaker Object Designer ‣ Point-and-Click Functional Test Record/Playback ‣ Record Tests In IE, Chrome, Firefox, Safari, Opera ‣ Automatic Ajax Synchronization ‣ Drag-and-Drop Data Driven Testing ‣ Creates Selenium, Sahi, and Flex Tests 15
  • 16. Open Source Test Automation Resources ‣ http://www.pushtotest.com/ ‣ http://seleniumhq.org ‣ http://selenium.pushtotest.com ‣ http://refcardz.dzone.com/refcardz/getting-started-selenium ‣ http://refcardz.dzone.com/refcardz/getting-started-selenium-20 ‣ http://www.pushtotest.com/products-comparison ‣ http://www.pushtotest.com/selenium-conference-2011-analysis ‣ http://www.slideshare.net/frankcohen/selenium-xpath-performance- problems-in-ie 16
  • 17. Open Source Test Automation Where To Go From Here ‣ Watch A Screencast and Tutorial ‣ http://www.pushtotest.com/screencastcentral ‣ The Selenium Tutorial for Beginners ‣ http://www.pushtotest.com/selenium-webinar-series ‣ Attend An Open Source Test Workshop ‣ http://workshop.pushtotest.com ‣ Ask For A Proposal on Licenses, Training, Support, Consulting ‣ Call +01 408 871 0122, sales@pushtotest.com 17