Celerity is a Ruby library for easy and fast automation of web application testing. Celerity wraps HtmlUnit via JRuby and is supposed to provide the same API and functionality as Watir. http://celerity.rubyforge.org/ -- T. Alexander Lystad --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
on 08.05.2008 12:43
on 08.05.2008 15:36
Cool - any thoughts on pros and cons vs. Selenium? I'd imagine a pro of this is ease of running tests concurrently (we are in the process of getting Selenium Grid up to address this for a JRuby app we are building). I'd imagine a con is lack of recorder tool ala Selenium IDE (export to Ruby)? Also how is the Ajax support? I spent last evening taking advantage of some of the support for it in Selenium (i.e., waitForElement etc.). So far we have found Selenium to be pretty good. Documentation can be sparse and the Selenium IDE Firefox plug-in is great at getting you started, but you typically need to mess with the Ruby it poops out. We are using RSpec rather than Test::Unit (Selenium poops out tests in Test::Unit format) so we have to convert them which isn't too awful, but can be tedious. Mike Herrick Program Manager, Collaborative Software Initiative mike@csinitiative.com http://www.csinitiative.com T. Alexander Lystad wrote: > Celerity is a Ruby library for easy and fast automation of web > application testing. Celerity wraps HtmlUnit via JRuby and is supposed > to provide the same API and functionality as Watir. > > http://celerity.rubyforge.org/ > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
on 09.05.2008 01:52
I thought I remembered that tools like HTMLUnit and JWebUnit can not really handle things like Ajax and complex JavaScript because they only really deal with the DOM that is created when the page is initially loaded. We use Selenium because it actually runs in the browser so it catches all the little obscure x-browser bugs and dynamic sites. Does celerity handle dynamic DOM changes and Ajax? Joe
on 09.05.2008 13:28
Hi, Celerity will behave like HtmlUnit with regards to Javascript, and we haven't done any extensive testing yet, but one of the deciding factors for choosing HtmlUnit was their commitment to this feature. From http://htmlunit.sourceforge.net/: "HtmlUnit provides good JavaScript support, simulating the behavior of the configured browser (Firefox or Internet Explorer). It uses the Rhino JavaScript engine for the core language (plus workarounds for some Rhino bugs) and provides the implementation for the objects specific to the execution in a browser. The support is already really good and many complex JavaScript libraries are well supported (the unit tests of some well known AJAX libraries are included in HtmlUnit's own unit tests). JavaScript support is the area where currently most of HtmlUnit's development activity occurs. If you encounter a problem it may be already have been fixed since the last release. Otherwise, don't hesitate to open an issue with an example of the problem." So we think this shows good promise. Celerity provides access to the underlying HtmlUnit objects, so you can make low-level calls to HtmlUnit if needed, or we can add stuff to Celerity's API for common operations (as soon as we discover them ;). Alternatively, Celerity is compatible with Watir, so you should be able to run your tests with Watir if HtmlUnit can't provide the same functionality. Mike: I tried Selenium IDE a while back, but wasn't really happy with how it identified elements (long XPaths, etc). We have a domain-specific abstraction layer above the actual Celerity/Watir calls anyway - so test developers can call methods like OurSite#login, #navigate_to(...). A recorder isn't really useful in our situation. Jari
on 13.05.2008 13:35
Mike Herrick wrote: > some of the support for it in Selenium (i.e., waitForElement etc.). > > So far we have found Selenium to be pretty good. Documentation can be > sparse and the Selenium IDE Firefox plug-in is great at getting you > started, but you typically need to mess with the Ruby it poops out. We > are using RSpec rather than Test::Unit (Selenium poops out tests in > Test::Unit format) so we have to convert them which isn't too awful, but > can be tedious. T. Alexander Lystad is posting this on behalf of Jari Bakken: Hi, Celerity will behave like HtmlUnit with regards to Javascript, and we haven't done any extensive testing yet, but one of the deciding factors for choosing HtmlUnit was their commitment to this feature. From http://htmlunit.sourceforge.net/: "HtmlUnit provides good JavaScript support, simulating the behavior of the configured browser (Firefox or Internet Explorer). It uses the Rhino JavaScript engine for the core language (plus workarounds for some Rhino bugs) and provides the implementation for the objects specific to the execution in a browser. The support is already really good and many complex JavaScript libraries are well supported (the unit tests of some well known AJAX libraries are included in HtmlUnit's own unit tests). JavaScript support is the area where currently most of HtmlUnit's development activity occurs. If you encounter a problem it may be already have been fixed since the last release. Otherwise, don't hesitate to open an issue with an example of the problem." So we think this shows good promise. Celerity provides access to the underlying HtmlUnit objects, so you can make low-level calls to HtmlUnit if needed, or we can add stuff to Celerity's API for common operations (as soon as we discover them ;). Alternatively, Celerity is compatible with Watir, so you should be able to run your tests with Watir if HtmlUnit can't provide the same functionality. Mike: I tried Selenium IDE a while back, but wasn't really happy with how it identified elements (long XPaths, etc). A recorder also requires that you already have an implementation of the functionality you're testing - so you're not doing test/story-driven development. We have a domain-specific abstraction layer above the actual Celerity/Watir calls anyway - so test developers can call methods like OurSite#login, #navigate_to(...). A recorder isn't really useful in our situation. Jari --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email