#116
Jun 30, 2008

Selenium

Selenium is a great way to test your app automatically through a browser. See how it works in this episode.
Tags: tools testing
Download (15.9 MB, 9:30)
alternative download for iPod & Apple TV (11.8 MB, 9:30)

Resources

script/plugin install git://github.com/ryanb/selenium-on-rails.git
script/generate selenium destroy_product.rsel
rake test:acceptance
# test/selenium/destroy_product.rsel
setup :fixtures => :all
product = Product.first
open '/'
click "css=#product_#{product.id} a:contains('Destroy')"
assert_confirmation('*')
wait_for_element_present "css=#flash_notice"
assert_element_not_present "css=#product_#{product.id}"
refresh
assert_element_not_present "css=#product_#{product.id}"
# config/selenium.yml
environments:
  - test

browsers:
  firefox: '/Applications/Firefox.app/Contents/MacOS/firefox-bin'
  safari: '/Applications/Safari.app/Contents/MacOS/Safari'

Full Source Code

RSS Feed for Episode Comments 63 comments

1. QuBiT Jun 30, 2008 at 00:21

Just AMAZING!

if you know java and junit inside eclipse or other testing environments from other languages you really know how useful such and IDE can be.

Selenium is really really cool.

THX Ryan for that screencast.


2. Clemens Kofler Jun 30, 2008 at 00:43

FINALLY! I've been waiting for ages to have a good screencast on Selenium. Can't wait to see this.

Cheers, Ryan!


3. Otero Jun 30, 2008 at 01:26

Nice! Running from a rake task it's very usefull!

Must try this!


4. Bryce Jun 30, 2008 at 08:14

Thanks a lot Ryan for this intro to Selenium! What a great tool to compliment the current test suite and enhance UI testing.

Do you think this will eventually replace the built in rails test suite? Will it work with autotest?

Thanks again for the great screencasts
Bryce


5. Brandon Jun 30, 2008 at 09:15

Hopefully we will see your forked changes incorporated back in to the plugin. Thanks for your work on this.


6. Ryan Bates Jun 30, 2008 at 10:06

@Bryce, Selenium is great, but I don't think it will ever replace unit or functional tests. It works very well for testing the flow between multiple pages, javascript, and making sure the full stack of your app works. I would not use it for testing complicated business logic or numerous edge cases.

AFAIK, out of the box this doesn't work with autotest, but I'm sure it's possible to hack that functionality together somehow. I haven't tried.

I personally wouldn't find autotest support very useful. To me acceptance tests are something that don't have to be run as often as unit or functional tests. However I'm still trying to figure out how best to fit Selenium into my workflow.


7. Quincy Jun 30, 2008 at 23:02

I can't install git on my laptop. It's an old Lombard with Panther 10.3. I downloaded the selenium-on-rails package from the github website, but I'm not sure how to install it. It includes one very long filename. Can anyone show me how to install it?


8. Yuchen Jul 01, 2008 at 11:56

It is indeed useful to test the flow, from functionality perspective. But most of the time we have problem with different browsers that the visual presentation of web pages differ a lot. Say it looks most of the time OK in FF, but just bad in IE. And the javascript is not surely to work on different browsers either. Can Selenium help on those issues?


9. Ryan Bates Jul 01, 2008 at 17:00

@Quincy you likely downloaded the ".tar" file. You'll need to uncompress this. Once you do you'll end up with a folder with the plugin inside. Rename the folder to 'selenium-on-rails' and move it into your vendor/plugins directory and you should be good to go.

@Yuchen testing the visual look of the page would be hard to do programatically with any tool. You may want to try scripting Selenium to take a screenshot when going to certain pages. Then you can quickly review all of these. I haven't looked into this so I'm not sure how difficult/possible it is.

As for testing Javascript, Selenium can certainly do this (as I show in the episode) and I find it to be one of the big reasons to use it.


10. jamir Jul 02, 2008 at 01:39

good one! thanks a lot>


11. t3i Jul 03, 2008 at 02:31

Very Cool.

Nice changes to the 2.1 git version.

I've watched almost all of your casts and look forward to them every week.

Thank you very much
Ben

PS i love the new intro sound, ;-)


12. Maxim Shevertalov Jul 03, 2008 at 06:10

Great screencast. I've been using Selinium for about a year now, good product and getting better all the time. About 2 weeks ago I posted a small description of how I'm testing www.graphsy.com with selenium. If anyone is interested you can check it out at:
http://www.blog.graphsy.com/?p=18
In that post I try to show how mouse events can be simulated and tested for in selenium.

Thanks for a great screencast, more people need to know about selenium.


13. Brad Jul 03, 2008 at 09:40

Another great screen cast. Keep up the nice work!


14. tesst Jul 05, 2008 at 10:09

test


15. James King Jul 05, 2008 at 14:54

Thank you Ryan!

I would be interested if anyone has any thoughts of how and when to integrate Selenium alongside a BDD workflow, especially when using Rspec and Rails.

I've been preparing to write some Rspec user stories for my app, but my first impressions of Selenium are making me think again. Selenium seems to be much quicker, more intuitive and more comprehensive by including the browser into the equation.

The only thing that's holding me back from jumping headfirst into Selenium right this minute is the fact that its geared up for testing rather than specing and I'm rather keen on the BDD conventions.


16. Maxim Shevertalov Jul 06, 2008 at 07:56

James, I think you can kind of do BDD testing with selenium, as long as you first prototype what your front end looks like. If you make the views you want to use, or at least stay consistent with you ID values of ways of referencing fields you can write selenium cases for them before actually implementing anything. Though, then you will need to write everything by hand and the Selenium IDE will not be as useful. My development process tends to be just that, first prototype the front end, then make selenium cases for it, and then hook it up to the back end. Hope that helps.


17. NO Jul 07, 2008 at 02:43

Hi

I found I always get false on assertTextPresent (assert_text_present) and verifyTextPresent (verify_text_present) with selenium_on_rails while the same test passes with Selenium-IDE.

Do you have any ideas ?

I'm trying on both the original selenium_on_rails with rails-2.0.2 and your git version with rails-2.1. But the results are same...

Anyway, this episode is great.
Thank you very much.


18. Hey Jul 07, 2008 at 08:53

Hey

/rorApp/application/vendor/rails/activesupport/lib/active_support/dependencies.rb:115:in `qualified_const_defined?': "Plugins::Selenium-on-rails::Lib" is not a valid constant name! (NameError)

Any ideas? Rails 2.1 with ryanb modified selenium plugin.


19. Hey Jul 07, 2008 at 11:58

Renamed /plugins/selenium-on-rails to selenium_on_rails and all ok :).


20. James King Jul 08, 2008 at 08:30

Maxim, Thanks for your thoughts.

Since my comment, above, I have found quite a few people who are working with both Rspec and Selenium. I did try to post a comment with links to relevant pages, but Akismet thought it was spam. If anyone is interested in working with both these tools and integrating Selenium into a BDD workflow, then just google "Rspec and Selenium" and some interesting projects come up.


21. bkola Jul 12, 2008 at 06:52

woohoo!


22. rich Jul 13, 2008 at 16:49

Have you tried Watir? I've been using that for a while now. The API is much better than Selenium. I know that Brett P. is working hard on getting Firefox(Firewatir) compatible with IE Watir Scripts.


23. Pete Jul 31, 2008 at 01:23

Hey thanks for the video Ryan. Awesome little tutorial. I had previously installed Selenium inside my Rails projects by following the writeup here:

http://siannopollo.blogspot.com/2007/02/selenium-and-ruby-they-actually-work.html

Works very well, but not quite as flexible and versatile as this method. Thanks


24. Yury Kotlyarov Aug 08, 2008 at 00:59

Hi!

Thanks for great screencast!

Any ideas how to use it to test app which serves different subdomains eg using account_location plugin?

--Yury


25. Hugo Oct 22, 2008 at 21:54

This is a really nice screencast. Testing should be pushed more and more. To many projects fail due to poor testing. Many thanks!


26. Frisee Nov 06, 2008 at 04:21

I always got a `draw_without_selenium_routes': stack level too deep (SystemStackError)
in test_environment and then it stops? Any ideas how to fix this?
-- Frisee


27. Josh Delsman Nov 25, 2008 at 08:49

It seems that this doesn't work for Rails 2.2+ yet. Eric hasn't gotten around to fixing it, either. Any ideas, Ryan?

http://clearspace.seleniumhq.org/thread/15609


28. Mike Stramba Dec 07, 2008 at 04:09

Off topic, but after installing Selenium 1.0b2 from the link you provided into Firefox 3.04, I am now getting endless "spam popups". Even with Firefox's "block popups" turned on.

I'll ask around in the Firefox / Selenium/ google, but if anyone else has encountered this, or has any info I'd greatly appreciate finding out how to kill this malware.

thx

Mike


29. Anton Dec 12, 2008 at 10:43

I can't use ActiveRecord in rsel files...

Without any ActRec's like

product = Product.first

everything works fine, if I insert anything (like "Product.new()" or "Product.find(1)" or whatever (doesn't matter what class I use) I always get a

/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/module/introspection.rb:9:in `parent_name': can't modify frozen object
vendor/plugins/selenium-on-rails/lib/selenium_on_rails/rselenese.rb:29:in `render'
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/module/introspection.rb:31:in `parent'
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:88:in `const_missing'
(eval):9:in `render'
...


30. Ken Mayer Feb 02, 2009 at 16:49

I found that XPather is an excellent add-on for writing locators, especially when trying to write and debug tests.

https://addons.mozilla.org/en-US/firefox/addon/1192


31. Binod Feb 10, 2009 at 04:10

Hey All,

Someone, please help me on this urgently.

While running "rake test:acceptance" on console I am getting this error
***************
rake aborted!
uninitialized constant SeleniumOnRailsConfig::ERB
*******************

Could you please show me links for Selenium in Rails as Am using the beta for Rails 2.2

Am new to this.....

Please....


32. Asfand Yar Qazi Feb 16, 2009 at 04:00

@Binod

Here's how I fixed that error:

In vendor/plugins/selenium_on_rails/lib/selenium_on_rails_config.rb (note the name of the plugin - if it's selenium-on-rails, you will have other errors!)

Underneath "include 'yaml'", put "include 'erb'"

voila with extra sauce!


33. lune Mar 20, 2009 at 06:13

I got a question, I've already written my .rsel file and I would like to pass it a parameter to specify wich product to test. Does someone have an idea?

Thanks


34. Al Sargent Jun 16, 2009 at 16:40

As a follow up -- Sauce Labs has cloud-hosted Selenium, and provides a drop-in Selenium RC replacement that can be called from Ruby scripts. You can learn more at http://saucelabs.com/ .


35. pratik Jul 02, 2009 at 00:49

Someone please help urgently,
I added a patch for the plugin selenium_on_rails for rails 2.2.2 from Selenium test runner and simple test cases working fine.

But method include_partial is not working in my rselenese test case
include_partial 'login', :name => 'user1', :password => 'password'

error
 NoMethodError in Selenium#test_file

Showing test/selenium/login/invalid_login_test.rsel where line #1 raised:

private method `split' called for #<Hash:0x7ea9708>


36. Artem Vasiliev Aug 10, 2009 at 13:32

Anton, on this
`parent_name': can't modify frozen object
error - I just had the same with Rails 2.2, and managed to fix it with class caching setting:
config.cache_classes = true


37. jessie Oct 28, 2009 at 21:45

<li><b><a href="http://www.watchho.com/replica-cartier-c-8.html/">Replica Cartier</a></b></li>
<li><b><a href="http://www.watchho.com/replica-chanel-c-9.html/">Replica Chanel</a></b></li>
<li><b><a href="http://www.watchho.com/replica-chopard-c-10.html/">Replica Chopard</a></b></li>
<li><b><a href="http://www.watchho.com/replica-christian-dior-c-12.html/">Replica Christian Dior</a></b></li>
<li><b><a href="http://www.watchho.com/replica-citizen-c-13.html/">Replica Citizen</a></b></li>
<li><b><a href="http://www.watchho.com/replica-coach-c-14.html/">Replica Coach</a></b></li>
<li><b><a href="http://www.watchho.com/replica-concord-c-15.html/">Replica Concord</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/jimmy-choo-handbags-wallets-c-61_64.html/">jimmy-choo-handbags-wallets</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/tag-heuer-watches-c-89.html/">tag-heuer-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/jimmy-choo-handbags-c-61.html/">jimmy-choo-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/christian-dior-handbags-c-52.html/">christian-dior-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/hermes-handbags-c-73.html/">hermes-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/franck-muller-c-105.html/">franck-muller</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/watches-new2008-c-85.html/">watches-new2008</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/alange-sohne-c-106.html/">alange-sohne</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/patek-philippe-pp-c-102.html/">patek-philippe-pp</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/gucci-watches-c-84.html/">gucci-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/iwc-watches-c-107.html/">iwc-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-wallets-monogram-canvas-c-126_127.html/">louis-vuitton-wallets-monogram-canvas</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-wallets-c-126.html/">louis-vuitton-wallets</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/mulberry-handbags-c-65.html/">mulberry-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/loewe-handbags-c-76.html/">loewe-handbags </a><b></li>
<li><b><a href="http://www.handbag-handbags.com/versace-handbags-c-91.html/">versace-handbags</a><b></li>
<li><b><a href="http://www.handbag-handbags.com/ysl-handbags-c-75.html/">ysl-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/coach-handbags-c-78.html/">coach-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-handbags-lv-new-collection-c-1_4.html/">louis-vuitton-handbags-lv-new-collection</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-handbags-c-1.html/">louis-vuitton-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/cartier-handbags-c-74.html/">cartier-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/chanel-handbags-c-139.html/">chanel-handbags</a></b></li>
<li><b><a href="http://www.watchhandbag.com/christian-dior-c-15.html/">Replica Patek Philippe</a></b></li>
<li><b><a href="http://www.watchhandbag.com/rado-c-163.html/">rado</a></b></li>
<li><b><a href="http://www.watchhandbag.com/swiss-rolex-c-94.html/">swiss-rolex</a></b></li>
<li><b><a href="http://www.watchhandbag.com/iwc-c-156.html/">iwc</a></b></li>
<li><b><a href="http://www.watchhandbag.com/hermes-watches-c-155.html/">hermes-watches</a></b></li>
<li><b><a href="http://www.watchhandbag.com/dior-christal-bracelet-c-151_205.html/">dior-christal-bracelet</a></b></li>
<li><b><a href="http://www.watchhandbag.com/dior-c-151.html/">dior</a></b></li>
<li><b><a href="http://www.watchhandbag.com/omega-c-112.html/">omega</a></b></li>
<li><b><a href="http://www.watchhandbag.com/chanel-c-101.html/">chanel</a></b></li>
<li><b><a href="http://www.watchhandbag.com/cartier-baignoire-c-150_181.html/">cartier-baignoire</a></b></li>
<li><b><a href="http://www.watchhandbag.com/gucci-c-123.html/">gucci</a></b></li>
<li><b><a href="http://www.watchhandbag.com/bellross-c-149.html/">bellross</a></b></li>
<li><b><a href="http://www.watchhandbag.com/aigner-cortina-chronograph-bracelet-c-148_172.html/">aigner-cortina-chronograph-bracelet</a></b></li>
<li><b><a href="http://www.watchhandbag.com/cartier-c-150.html/">cartier</a></b></li>
<li><b><a href="http://www.watchesgift.net/">replica chanel </a><b></li>
<li><b><a href="http://www.giftshot.net/">replica omega</a><b></li>
<li><b><a href="http://www.watchho.com/">luxury watches</a></b></li>
<li><b><a href="http://www.iluxurywatches.com/">rolex watch</a></b></li>
<li><b><a href="http://www.watchhandbag.com/">watch handbag</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/">louis vuitton handbags</a></b></li>
<li><b><a href="http://www.iluxurywatch.com/">IWC watch</a></b></li>


38. huangAdministrator Nov 02, 2009 at 01:38

<li><b><a href="http://www.watchhandbag.com/movado-se-c-159_240.html/">movado-se</a></b></li>
<li><b><a href="http://www.watchhandbag.com/movado-c-159.html/">movado</a></b></li>
<li><b><a href="http://www.watchhandbag.com/rado-c-163.html/">rado</a></b></li>
<li><b><a href="http://www.watchhandbag.com/silver-dial-black-rubber-strap-p-4976.html/">silver-dial-black-rubber-strap</a></b></li>
<li><b><a href="http://www.watchhandbag.com/oris-c-160.html/">oris</a></b></li>
<li><b><a href="http://www.watchhandbag.com/hermes-nomade-compass-with-white-dial-p-4883.html/">hermes-nomade-compass-with-white-dial</a></b></li>
<li><b><a href="http://www.watchhandbag.com/hermes-watches-c-155.html/">hermes-watches</a></b></li>
<li><b><a href="http://www.watchhandbag.com/ebel-sportwave-chronograph-c-153_208.html/">ebel-sportwave-chronograph</a></b></li>
<li><b><a href="http://www.watchhandbag.com/ebel-classic-c-153_209.html/">ebel-classic</a></b></li>
<li><b><a href="http://www.watchhandbag.com/ebel-c-153.html/">ebel</a></b></li>
<li><b><a href="http://www.watchhandbag.com/japan-rolex-c-130.html/">japan-rolex</a></b></li>
<li><b><a href="http://www.watchhandbag.com/bellross-c-149.html/">bellross</a></b></li>
<li><b><a href="http://www.watchhandbag.com/tissot-mens-watches-p-5151.html/">tissot-mens-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/jimmy-choo-handbags-wallets-c-61_64.html/">jimmy-choo-handbags-wallets</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/tag-heuer-watches-c-89.html/">tag-heuer-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/jimmy-choo-handbags-c-61.html/">jimmy-choo-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/christian-dior-handbags-c-52.html/">christian-dior-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/hermes-handbags-c-73.html/">hermes-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/franck-muller-c-105.html/">franck-muller</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/watches-new2008-c-85.html/">watches-new2008</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/alange-sohne-c-106.html/">alange-sohne</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/patek-philippe-pp-c-102.html/">patek-philippe-pp</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/gucci-watches-c-84.html/">gucci-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/iwc-watches-c-107.html/">iwc-watches</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-wallets-monogram-canvas-c-126_127.html/">louis-vuitton-wallets-monogram-canvas</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-wallets-c-126.html/">louis-vuitton-wallets</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/mulberry-handbags-c-65.html/">mulberry-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/loewe-handbags-c-76.html/">loewe-handbags </a><b></li>
<li><b><a href="http://www.handbag-handbags.com/versace-handbags-c-91.html/">versace-handbags</a><b></li>
<li><b><a href="http://www.handbag-handbags.com/ysl-handbags-c-75.html/">ysl-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/coach-handbags-c-78.html/">coach-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-handbags-lv-new-collection-c-1_4.html/">louis-vuitton-handbags-lv-new-collection</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/louis-vuitton-handbags-c-1.html/">louis-vuitton-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/cartier-handbags-c-74.html/">cartier-handbags</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/chanel-handbags-c-139.html/">chanel-handbags</a></b></li>
<li><b><a href="http://www.watchhandbag.com/christian-dior-c-15.html/">Replica Patek Philippe</a></b></li>
<li><b><a href="http://www.watchhandbag.com/rado-c-163.html/">rado</a></b></li>
<li><b><a href="http://www.watchhandbag.com/swiss-rolex-c-94.html/">swiss-rolex</a></b></li>
<li><b><a href="http://www.watchhandbag.com/iwc-c-156.html/">iwc</a></b></li>
<li><b><a href="http://www.watchhandbag.com/hermes-watches-c-155.html/">hermes-watches</a></b></li>
<li><b><a href="http://www.watchhandbag.com/dior-christal-bracelet-c-151_205.html/">dior-christal-bracelet</a></b></li>
<li><b><a href="http://www.watchhandbag.com/dior-c-151.html/">dior</a></b></li>
<li><b><a href="http://www.watchhandbag.com/omega-c-112.html/">omega</a></b></li>
<li><b><a href="http://www.watchhandbag.com/chanel-c-101.html/">chanel</a></b></li>
<li><b><a href="http://www.watchhandbag.com/cartier-baignoire-c-150_181.html/">cartier-baignoire</a></b></li>
<li><b><a href="http://www.watchhandbag.com/gucci-c-123.html/">gucci</a></b></li>
<li><b><a href="http://www.watchhandbag.com/bellross-c-149.html/">bellross</a></b></li>
<li><b><a href="http://www.watchhandbag.com/aigner-cortina-chronograph-bracelet-c-148_172.html/">aigner-cortina-chronograph-bracelet</a></b></li>
<li><b><a href="http://www.watchhandbag.com/cartier-c-150.html/">cartier</a></b></li>
<li><b><a href="http://www.watchesgift.net/">replica chanel </a><b></li>
<li><b><a href="http://www.giftshot.net/">replica omega</a><b></li>
<li><b><a href="http://www.watchho.com/">luxury watches</a></b></li>
<li><b><a href="http://www.iluxurywatches.com/">rolex watch</a></b></li>
<li><b><a href="http://www.watchhandbag.com/">watch handbag</a></b></li>
<li><b><a href="http://www.handbag-handbags.com/">louis vuitton handbags</a></b></li>
<li><b><a href="http://www.iluxurywatch.com/">IWC watch</a></b></li>


39. second chance checking Nov 10, 2009 at 17:15

Great stuff here


40. Colon Cleanse Nov 11, 2009 at 21:38

Thank you. Nice Post. like it.


41. prettyreplica.com Nov 16, 2009 at 06:35

Replica Watches
http://www.prettyreplica.com
Replica Handbags, Very Nice Bag
http://www.verynicebag.com
Fashion Watches
http://www.watchesbroker.com
Very Nice Watch
http://www.buynicewatch.com
Discount Watches
http://www.prettyreplica.com/specials.html
Best Watches
http://www.watchesbroker.com
Special Watches
http://www.watchesbroker.com/specials.html
Fashion Bags
http://www.hotpopbag.com


42. Carl Nov 18, 2009 at 06:09

Good stuff, had some great success with this code on my site. <a href="http://www.simplychateau.com">Chateau</a>


43. Colon Cleanse Nov 18, 2009 at 06:12

all very useful, thanks a lot.


44. nod32 free Nov 23, 2009 at 23:33

nod32 free


45. Louis Vuitton Bags Dec 09, 2009 at 02:57

thanks


46. mod converter Dec 14, 2009 at 18:12

 episodes ends.


47. Metaxalone Jan 10, 2010 at 15:05

loved that site as usual good post


48. skelaxin shipped overnight fast delivery Jan 10, 2010 at 15:10

grgr grgr skelaxin shipped overnight fast delivery


49. freerealmscoins Jan 12, 2010 at 16:39

It is very good.I like to see it.Thank you .Have a good time.


50. how to get pregnant Jan 12, 2010 at 19:48

Its really great thing.


51. wholesale scarves Jan 13, 2010 at 22:48

Such a good article, caught my sympathy!
-


52. wholesale nike shoes Jan 13, 2010 at 22:48

A very good article, I will always come in.


53. name Jan 22, 2010 at 12:25

good post


54. {{!COL1)) Jan 23, 2010 at 19:03

{{!COL4))


55. {{!COL1)) Jan 23, 2010 at 19:52

{{!COL4))


56. name Jan 23, 2010 at 20:07

zzzzzzz


57. reiner Jan 24, 2010 at 10:31

thanks


58. Nike Air Max 90 Jan 24, 2010 at 17:46

Nice post,nice sharing.Thanks!


59. javon Jan 25, 2010 at 22:24

nice sharing.Thanks!


60. Nilesh Jan 26, 2010 at 00:45

download link is not working :(


61. how to get rid of eczema Jan 31, 2010 at 20:13

I too tried the download link and it is not working for me


62. Harga Laptop Feb 03, 2010 at 22:39

I've downloaded, it's a good application. Thanks.


63. xbox 360 Feb 05, 2010 at 02:21

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

Add your comment:

(SKIP THIS ONE)

(required)

(not shown)


(use pastie or gist for code)

sponsored by:
if you want to help:
required:
Get Quicktime Player
Give Back to Open Source