Hey all, <br><br>I am currently working on coming up w/ an easy to use, developer-centric web testing framework to test a J2EE app with. (I have 3 rails apps in production, love rspec, and am currently at a java shop). <br>
<br>I've looked at selenium, and it just doesn't seem like it is ready for prime time, and the target audience is developers. So, having said that, does the rspec community want a "functional" test framework? Are you happy w/ selenium, and is it working?
<br><br>Unless someone convinces me of selenium, I'm planning on taking the basics and concepts of rspec, and focus it more towards testing web applications, and am happy to contribute. My company is totally cool with contributing to open source projects if it makes sense.
<br><br>Any thoughts or suggestions? Here is a sketch of what I think I'd like:<br clear="all"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">server "<a href="http://localhost:8080">
http://localhost:8080</a>" do </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
test '/' do </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> page.status.should_be "200"</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">
page.should_have :image, "logo.gif"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.should_have :string, "Copyright 2006-Present SomeCo, Inc. All rights reserved."</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.should_have :div, :id => 'copyright'</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.should_include :css, 'default.css'</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> page.should_have.no_broken_links
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> page.should_have.at_least.3 :div, :class => "bbxBody"</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> page.should_have.at_most.6 :div, :class => "someClassName"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> # page.[name_of_form]_form.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.search_form.submit :name => "California" do </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> result.status.should_be :success</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> result.should_have :image, "logo.gif"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> result.url.should_contain
"some_page.html"</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> end</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> page.should_have :div, :class => 'something else'</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> page.should_have :div, :id => 'foo', :class => 'bar'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.should_have '/div[1]/div[2]/td'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> end</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> test '/some/url.html?id=35' do </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
page.should_redirect :to => '/foobar.html'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> end</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">end</span><br><br>-- <br>Tim Tischler<br><a href="mailto:ttischler@homeaway.com">ttischler@homeaway.com</a><br><a href="mailto:tischler@purplecoffeecup.com">tischler@purplecoffeecup.com
</a><br>512-565-4750<br>AIM:tjtischler512