Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automation, Selenium and Sauce
Search
Santiago Suarez Ordoñez
October 05, 2012
Technology
1
140
Automation, Selenium and Sauce
Why jumping on the automated test bandwagon is more than just a good idea.
Santiago Suarez Ordoñez
October 05, 2012
Tweet
Share
More Decks by Santiago Suarez Ordoñez
See All by Santiago Suarez Ordoñez
Selenium is dead, long live Selenium!
santiycr
0
470
Selenium for Pythonistas
santiycr
2
540
PyCon Workshop Slides
santiycr
1
460
Stripping down RemoteWebDriver
santiycr
1
470
Optimizing Selenium for build performance
santiycr
0
190
Tips From Our Codebase To Help You Write Reliable Selenium Tests
santiycr
0
93
Testing Automatizado
santiycr
0
35
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
320
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
210
Azureの基本的な権限管理の勉強会
yhana
1
2.1k
On Your Data を超えていく!
hirotomotaguchi
2
750
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
Cloud Service Mesh に触れ合う
phaya72
1
180
Babylon.js JAPAN活動紹介 (2024/4)
limes2018
1
110
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
140
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
400
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
8
620
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
110
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Design by the Numbers
sachag
274
18k
GitHub's CSS Performance
jonrohan
1025
450k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Embracing the Ebb and Flow
colly
80
4.2k
For a Future-Friendly Web
brad_frost
172
9k
Statistics for Hackers
jakevdp
790
220k
Web Components: a chance to create the future
zenorocha
306
41k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
How STYLIGHT went responsive
nonsquared
92
4.8k
Transcript
Selenium, Sauce Labs and Automated Testing Why jumping on the
automated test bandwagon is more than just a good idea http://bit.ly/automation-slides
Who is this guy?! Santiago Suarez Ordoñez @santiycr Selenium Ninja
@ Sauce Labs Selenium Committer
Agenda • Automation ◦ Let's agree test automation is the
way to go • Selenium ◦ Current state of the project ◦ Features and limitations • Sauce Labs ◦ Sauce OnDemand ◦ Sauce Scout
Why test automation? • Repetitive tasks are boring • Creative
tasks are fun • Machines are made for boring tasks • They make no mistakes • They never get tired • They are fast!
Let's compare!
Selenium Jason Huggins (@hugs) @ ThoughtWorks Open Source (Apache) Released
in 2004 JavaScript core (tons of hackery around) Selenium Core, IDE, RC
Selenium Core Deployed with the application Table-based syntax No flow
control (conditionals, iteration) open /login type username santiago type password mySecretPassword click submit asserTitle Account Page
Selenium IDE Selenium Core inside a Firefox plugin Plus Record&Playback
No need to deploy tests
Selenium RC Client-server architecture Multiple hacks let Selenium Core do
XSS Tests written in various programming languages
Selenium had its limitations The browsers' javascript sandbox Native popups
and windows: ◦ alert() ◦ confirm() ◦ downloads ◦ uploads The API grew way too big (>150 methods)
WebDriver Simon Stewart (@shs96c) @ ThoughtWorks Open Source (Apache 2)
Released early 2007 A more native approach for automation A cleaner and object oriented API
WebDriver also had its issues Lower maintainability Less browser support
Java only library Limited user base
API differences Plain API (Selenium RC) sel.type("username", "santiago") sel.type("password", "secretPass")
sel.click("submit") OO API (WebDriver) WebElement user = driver.findElement(By.id("username")); user.sendKeys("santiago"); WebElement pass = driver.findElement(By.id("password")); pass.sendKeys("secretPass"); pass.submit()
Selenium 2 WebDriver's API Selenium's Community and user base Native
hooks for some interactions Javascript Atoms for maintainability and instant browser support
Selenium 2's support matrix Bindings: Java, Ruby, Python, C#, JavaScript,
PHP (unofficial), Perl (unofficial) Drivers: HTMLUnit, Firefox, Chrome, Opera, IE, Safari (on the works), iOS, Android, headless webkit...
Demo
Learn more! • http://seleniumhq.org/docs/ • selenium-users mailing list • http://code.google.com/p/selenium/
Contribute! • selenium-developers mailing list • #selenium on freenode (IRC) • http://code.google.com/p/selenium/
Sauce Labs
Sauce Automated Selenium's Remote Architecture taken to the Cloud Run
your scripts locally, use our browsers remotely the internetz
Features Elastic growth (pay by the minute) High parallelization limits
Up-to-date, maintenance-free test lab Enhanced reporting (videos, screenshots, logs) Focus on your tests, not your infrastructure
Free usage for open source projects Free basic accounts for
everyone We're also cool with startups/FLOSS
Sauce Interactive Manual Testing in the cloud We use Selenium
to give you browsers!
Sauce Connect Use Scout and OnDemand against a private server
(localhost, 192.168.1.100, web_qa.local) http://saucelabs.com/docs/sauce-connect
Thanks! Santiago Suarez Ordoñez @santiycr http://saucelabs.com http://bit.ly/automation-slides Thanks @stephendonner (Mozilla
for reviewing), @jarib (some slides content)
Q&A