- Listen to watir podcast (#31/Jari Bakken+Simon Stewart). (35 minutes) (2/26/2010: done)
- Listen to safariwatir watir podcast (#25/Dave Hoover) (2/26/2010: done/50 minutes)
- Listen to (#28/Tom Copeland) (2/26/2010: done)
- Read introducing-webdriver blog. (2/26/2010: done)
- Re-read chapters 51-56+ of my blog. (2/26/2010: done)
- Decide if I care about safari driver on PC (or just MAC, IPhone, IPad).
(2/26/2010: Decide that the stub can run on PC and MAC platforms) - Research safariwatir. (2/26/2010: done/Found most of the interesting
emails/blogs/postings; safariwatir on openqa (overall page)) - selenium-webdriver is located at: http://github.com/shs96c/webdriver
- Set up Eclipse, Netbeans, or RubyMine as IDE. (2/26/2010: Installed
Eclipse on PC, configured for Ruby, build selenium-webdriver project) - GOAL: Clone (fork) selenium-webdriver and add safari driver stub code.
- Use this ruby/watir script as my first test case. My past work documented here.
require "watir-webdriver"
browser = Watir::Browser.new(:safari)
sleep 2
browser.close
browser = Watir::Browser.new(:safari)
sleep 2
browser.close
- FYI: My previous research appears that "safari" driver work completely
be isolated inside selenium-webdriver. - 2/26/2010: Set WATIR_WEBDRIVER_BROWSER to "safari" and
use ":safari", I saw "unknown driver" message with a stub. - 2/26/2010: Added two line to driver.rb file and rerun test file.
- 2/26/2010: NOTE: "jobbie" directory is IE code.
- 2/26/2010: Got stuck on no gemspec for selenium-webdriver so stop for now.
- Installed jeweler (1.2.1): gem install technicalpickles-jeweler
- 2/27/2010: After sleeping on it and finding that the selenium-webdriver is
probably embedded deep inside selenium, I have decided to decide on this tomorrow. - 2/28/2010: Deciding on how to trim this Yak (add ruby-based safari-driver to
selenium-webdriver running under watir-webdriver). - 2/28/2010: Decided to write an email to inform people, e-groups, IRC,
twitter of my work. Ask for past work and help, then decide course.
- Assume everyone follows one of the appropriate e-groups.
- Will use webdriver@googlegroups.com and selenium-dev lists.
Also the wtr-development@rubyforge.org list (on Rubyforge IIRC).
Then watir-general@googlegroups.com. (only once) - Maybe use IRC (freenode) with #watir.
- Also @safariwatir on twitter.
- Contact people involved:
- Jari Bakken (watir-webdriver) -- jarib/watir-webdriver on github
- Simon Stewart (selenium-webdriver) (0.0.17)
- Sai (Thoughworker) - was:
- Contact Sai, Prashant@Sun/Oracle.
- Dave Hoover (original safariwatir author) - more in section 6.20 of my notebook.
- Tom Copeland (lead safariwatir developer) (0.3.37) (NOTE: Work with Tom
if we decide (probably use submodule) to merge safariwatir as safari driver guts.
RESPONSE TO EMAIL in Blog Post #59:
- Doing research on how to add software to existing open source projects. Wow,
this is the only thing I found where google-ing.
http://my-ruby-journey.blogspot.com/2010/02/chapter-58-watir-webdriver-journey.html
Best Practices for Working with Open-Source Developers.\ - Received one new follower of my blog.
- My own thoughts:
- Blog #58 Creating Ruby-based Safari Driver for Selenium-webdriver
- GOAL: Clone (fork) selenium-webdriver and add safari driver stub code.
- Look into how Simon creates the current selenium-webdriver to avoid forking the code.
- If I must fork the code, use selenium-webdriver gem code (put in Git as
selenium-webdriver-ruby) since it is easier, then back-port it later. - Copy the code for one of the existing drivers and rename it to ":safari" initially.
- Probably set up submodule for safariwatir code if I/we use it.
- Webdriver thread about selenium-webdriver:
http://groups.google.com/group/webdriver/browse_thread/thread/df6d285d05f87cf5/939f96ccba24027f#939f96ccba24027f - Also look at the "native safari webdriver plugin".
From Miklos on webdriver@googlegroups.com e-group, I got the following: Please note that webdriver has a safari branch were the native safari
webdriver plugin development is ongoing:
http://code.google.com/p/selenium/source/browse/#svn/branches/safari
- Try to get local help at local Ruby Study Group, global Watir/Selenium
community, and/or create local help group. Apply to GSOC as a mentor. - Also found that: Google Summer of Code 2010 is on! We will begin accepting
applications from mentoring organizations on March 8th http://socghop.appspot.com - Local Ruby User Group Information
- 2/28/2010: Sent him suggestion for next Emerald City Programming
Group meeting; responded that Cucumber was the topic next Sat.) - Emails: ruby-83@meetup.com , ruby-83-announce@meetup.com
- IRC: #atlrug on webchat.freenode.net/ (2/28/2010: Logged in; Also
checked out #watir and #selenium IRC channels.)
- 2/28/2010: Sent him suggestion for next Emerald City Programming
- Also: http://github.com/jim/backseatSteer WebDriver from Ruby —
http://autonomousmachine.com/2008/10/17/steer-webdriver-from-ruby-with-backseatBackseat is a proof of concept that uses Rjb to directly interact with the
WebDriver Java classes. I'm still thinking about the API, so no specs just yet.EXAMPLES:
Please see firefox_example.rb and htmlunit_example.rb in the examples
directory for implementations of the 2 official WebDriver examples from
http://code.google.com/p/webdriver/wiki/GettingStarted.REQUIREMENTS:
a working JVM- you may need to set your LD_LIBRARY_PATH
http://rjb.rubyforge.org/rjb - sudo gem install rjb, if you're on a Mac go here:
http://www.digitalsanctum.com/2008/02/02/gem-install-rjb-on-mac-os-x-leopard/
TODO:
Safari driver ...lots mor
- Also: http://github.com/saivenkat/firedriver (A FireWatir implementation with
WebDriver core (A valiant attempt to free FireWatir from crummy JSSH) - http://developer-in-test.blogspot.com/2009/04/firedriver-firewatir-webdriver.html
- AFTER STUB: Where to learn more about safari drivers?
- Look at selenium-webdriver ticketing system. (unclear where that is)
- Set up safariwatir on Mac (maybe merge with selenium-webdriver). Clone code:
git clone http://github.com/redsquirrel/safariwatir.git (2/26/2010: done on PC/Must do on MAC too). - Study webdriver-safari code on openqa. (2/26/2010: Deferred)
- Maybe fork watirspec later.
- Will focus less on watirspec until after creating the STUB.
> My focus is to glue the ruby-based watir-webdriver and selenium-
> webdriver
> code together with existing (or new if we have to) safari driver code
watir-webdriver doesn't need any code changes to work with new drivers
introduced in the selenium-webdriver back-end. As long as the Safari
driver honors the semantics of the WebDriver API, it should all just
work from the Watir side.> Do you have the gemspec files embedded in your selenium code tree
> to build the gem for the ruby-based selenium-webdriver gem that I
> found on gemcutter.org (http://rubygems.org/gems/selenium-webdriver)?
There's no gemspec file, but you can build the gem using `rake gem:gem` in
your working copy.- > After we get the ruby glue code in place, then we can see what safari-specific
> code is best to use (your java version, safariwatir version, etc).
Since the Safari driver is based on the remote driver, the amount of work needed to make it
work from Ruby is practically negligible. If you're interested in how the Safari driver is
implemented natively,you should look at the branch linked in Miklos email.
EVEN MORE RESPONSES (Jari's Emails: 3/3/2010)
- Which gem are you talking about watir-webdriver or selenium-webdriver? selenium-webdriver
- What "working copy" are you talking about? http://code.google.com/p/selenium/source/checkout
No comments:
Post a Comment