Download presentation
Presentation is loading. Please wait.
Published byJade Manning Modified over 9 years ago
1
Selenium vs. Watir Evaluation William Mosteller Test Automation Specialist Copyright © 2009, Eloqua Inc.
2
The Initial Challenge Who is Eloqua? Leading marketing automation platform (SaaS) Global operations Over 200 employees, and 500+ customers We’re testing a re-write of the web application Evaluate Selenium and Watir and decide which is better for our needs
3
Similarities Both are open source Both support browsers only We drive both with Ruby (Selenium RC) Ruby reports errors by line number You need an editor like NotePad++ Or SCITE, which comes with Ruby - C:\ruby\scite\SciTE.exe Unlike SilkTest, no window definitions Unlike SilkTest, tags may be fuzzy
4
Differences Selenium RC requires that you start a server on your computer Easily implemented with a.bat file in the Startup folder Selenium supports methods with x, y offsets Selenium supports more browsers and operating systems So we started with a Selenium bias
5
Our Strategy “Scientific Method” Comparison: – Multi Language Support (non-ascii characters) – Docs – Maturity – Frames – Learning Curve – Existing team knowledge – Price/License – Community – Etc.
6
Initial Experiences Early Trials Selenium Scripting with preliminary versions of our application Watir Scripting with LinkedIn Both looked promising
7
Scripting the Application Developed in SproutCore New open source development framework In both tools… Click doesn’t work Double-Click doesn’t work “No battle plan survives contact with the enemy!” My new thought: We may have to settle for the one we can get to work!
8
More Issues Handling Modal Dialog Boxes Handling Application All Actions Button Entering Text in the YUI Editor Selecting Text in the YUI Editor Drag ‘n Drop
9
Aside - Information Resources Open source documentation is distributed, you need research skills Watir - wiki.openqa.org/display/WTR/Project+Hme Selenium - seleniumhq.org/projects/core/ & wiki.openqa.org/display/SEL/Home Google Watir group on Google Selenium Forum on Open QA clearspace.openqa.org/community/selenium Selenium and Watir groups on LinkedIn Friends
10
Click Resolution In Selenium (unless otherwise noted, code examples here are Selenium) mouse_down(locator) mouse_up(locator)
11
Double Click Resolution SproutCore Changes Required MS-IE Implementation fire_event(locator, "DblClick") FireFox Implementation paired MouseDown/MouseUp events
12
Dialog Box Resolution Watir solutions are based on Click_No_Wait Selenium provides functions for “are you sure” case Use AutoIt based scripts, running separately www.autoitscript.com/autoit3/index.shtml Programmed in Ruby, but with different methods May need to register AutoitX3.dll using regsvr32 Windows only
13
All Actions Resolution MouseDown/MouseUp opens the drop-down Click chooses the actual selection
14
Aside - Tagging Tools With JavaScript, View Source isn’t helpful MS-IE IE Developer Toolbar FireFox Firebug DOM Inspector Xpather (Install these globally in FireFox)
15
YUI Text Entry Resolution Proper Tagging //body[@class='gecko'] Note terse tag coding style
16
YUI Text Selection SilkTest and Watir Two ways to put text in a field (Watir examples) Set() Send_Keys() o Special syntax for control characters o "+{END}{DELETE}" + CannedText + "+{HOME}" Selenium doesn’t work this way
17
YUI Text Selection Resolution.key_down_native("17")# cntl down.key_press_native("65")# “A” press.key_up_native("17")# cntl up Need JavaScript Character Codes www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6- 83ac-25f0306e3e25/Javascript-Char-Codes-Key- Codes.aspx
18
Drag ‘n Drop Resolution drag_and_drop_to_object() Animation prettier with MS-IE Have suggestions for Watir
19
We Chose Selenium – March, 2009 We solved all our issues there Probably could also do so in Watir, but it looked more expensive Drag ‘n drop worked intermittently Send_Keys() not available in FireWatir And the initial Selenium plusses still matter Selenium supports methods with x, y offsets Selenium supports more browsers and operating systems
20
Since Selenium Selection Now testing our legacy application with Watir Selenium has trouble with modal browser windows, and legacy app has lots of them Watir handles MS-IE tables faster than Selenium Frames in legacy app complicate Watir tags Must mention every frame above your widget
21
Syntax Matters Is a.b.c.d present on the screen? Selenium: …element?(a.b.c.d) Watir: …a.b.c.d.exists? If c does not exist, or something weird happens, you still get an exception o Use nested.exists? or o While/Begin/Break/Rescue/End around the code
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.