Celerity (formerly known as Wraptir) 0.0.1 released

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

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 H.
Program Manager, Collaborative Software Initiative
[email protected]
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

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

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

Mike H. 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

I tried to run the sample script…but I always get the same error
“in `require’: no such file to load – celerity”.

Try require “rubygems” at the top of your script.

Hi.

I tried to run the sample script…but I always get the same error
“in `require’: no such file to load – celerity”.

Any help would be greatly appreciated.

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/


T. Alexander Lystad


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email