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
Greatest Disaster Hits in Web Performance
guaca
0
280
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
2
300
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
プロポーザルに込める段取り八分
shoheimitani
1
560
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.5k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
590
Featured
See All Featured
Visualization
eitanlees
150
17k
How to build a perfect <img>
jonoalderson
1
4.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Producing Creativity
orderedlist
PRO
348
40k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Faster Mobile Websites
deanohume
310
31k
Site-Speed That Sticks
csswizardry
13
1.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
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