Ruby Forum JRuby > Celerity (formerly known as Wraptir) 0.0.1 released

Posted by T. Alexander Lystad (Guest)
on 08.05.2008 12:43
(Received via mailing list)
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
Posted by Mike Herrick (mherrick66)
on 08.05.2008 15:36
(Received via mailing list)
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
Posted by Joseph Athman (Guest)
on 09.05.2008 01:52
(Received via mailing list)
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
Posted by Jari Bakken (jarib)
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
Posted by T. Alexander Lystad (Guest)
on 13.05.2008 13:35
(Received via mailing list)
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