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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Santiago Suarez Ordoñez
October 05, 2012
Technology
1
150
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
480
Selenium for Pythonistas
santiycr
2
550
PyCon Workshop Slides
santiycr
1
480
Stripping down RemoteWebDriver
santiycr
1
480
Optimizing Selenium for build performance
santiycr
0
200
Tips From Our Codebase To Help You Write Reliable Selenium Tests
santiycr
0
110
Testing Automatizado
santiycr
0
47
Other Decks in Technology
See All in Technology
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
100
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
670
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
480
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Music & Morning Musume
bryan
47
7.1k
Prompt Engineering for Job Search
mfonobong
0
160
The World Runs on Bad Software
bkeepers
PRO
72
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Facilitating Awesome Meetings
lara
57
6.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
How to Talk to Developers About Accessibility
jct
2
130
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
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