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

Báo Cáo Thực Tập PowerPoint
Báo Cáo Thực Tập PowerPointBáo Cáo Thực Tập PowerPoint
Báo Cáo Thực Tập PowerPointKhôi Nguyễn
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With RobotframeworkSyam Sasi
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation MavenSOAT
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionJunHo Yoon
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeterRedBlackTree
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnHadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnThành Thư Thái
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester FullThanh Sơn
 
Open erp le reporting avec jasper reports
Open erp  le reporting avec jasper reportsOpen erp  le reporting avec jasper reports
Open erp le reporting avec jasper reportsSoukaina Boujadi
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache JmeterSabitri Gaire
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium gridKnoldus Inc.
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOM Rizwanur Rashid
 

What's hot (20)

Báo Cáo Thực Tập PowerPoint
Báo Cáo Thực Tập PowerPointBáo Cáo Thực Tập PowerPoint
Báo Cáo Thực Tập PowerPoint
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
 
The Nix project
The Nix projectThe Nix project
The Nix project
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation Maven
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd Edition
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnHadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester Full
 
VTV Mobile Performace Test
VTV Mobile Performace TestVTV Mobile Performace Test
VTV Mobile Performace Test
 
Luận văn: Các kỹ thuật kiểm thử đột biến và ứng dụng, HAY, 9đ
Luận văn: Các kỹ thuật kiểm thử đột biến và ứng dụng, HAY, 9đLuận văn: Các kỹ thuật kiểm thử đột biến và ứng dụng, HAY, 9đ
Luận văn: Các kỹ thuật kiểm thử đột biến và ứng dụng, HAY, 9đ
 
Open erp le reporting avec jasper reports
Open erp  le reporting avec jasper reportsOpen erp  le reporting avec jasper reports
Open erp le reporting avec jasper reports
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache Jmeter
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium grid
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIO
 

Viewers also liked

Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Selenium interview questions
Selenium interview questionsSelenium interview questions
Selenium interview questionsgirichinna27
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with JavaJussi Pohjolainen
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Seleniumvivek_prahlad
 

Viewers also liked (6)

Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Selenium Concepts
Selenium ConceptsSelenium Concepts
Selenium Concepts
 
Selenium interview questions
Selenium interview questionsSelenium interview questions
Selenium interview questions
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Selenium
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 

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

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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)
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 

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