Basically what I'm looking to do is use Selenium IDE (http://seleniumhq.org/) on Firefox to generate some regression tests but then I want to replay them without having to fire up X11 and Firefox.<p>I found ELinks (http://elinks.or.cz) which is a text based browser with Lua support but it seems like it would be a good amount of work to write a Selenium binding.<p>Anyone know anything better?
Lynx can record a session and play it back, which makes it easy to create tests. The sessions are easily edited too. It's available in the repositories of most Linux distributions, or here:<p><a href="http://www.lynxbrowser.com/" rel="nofollow">http://www.lynxbrowser.com/</a>
Something I've looked at: <a href="http://htmlunit.sourceforge.net/" rel="nofollow">http://htmlunit.sourceforge.net/</a><p>Also, I'm not sure how they do it, but Jaxer (<a href="http://www.jaxer.org/" rel="nofollow">http://www.jaxer.org/</a>) has a headless firefox instance they use. Maybe do it in a similar manner?
A tool such as Tourbus might work. It's a Ruby app meant to stress test Web sites. It uses Webrat and (I think) Mechanize underneath, and does not open any browsers.<p>If the site in question has scripting you're out of luck, but otherwise it should be quite useful.<p>In fact, I found yourself using both Tourbus and Selenium on a project, and decided I didn't want to have duplicate tests, so I wrote some helper code to allow Tourbus to execute my Selenium scripts. So far, so good. I can record the actions in the Selenium 'IDE' plugin, and use them in Tourbus.<p><a href="http://github.com/dbrady/tourbus" rel="nofollow">http://github.com/dbrady/tourbus</a>
If all you want is server side automation, then you can try Xvfb, which is a virtual X server capable of running X applications.<p>On a related subject I used Watin (.net) for browser automation and learned, that it was modeled after Watir, which is the same in ruby. See <a href="http://watir.com" rel="nofollow">http://watir.com</a>.
If into Ruby, I saw a presentation on how to do what your looking for, check out: <a href="http://jjinux.blogspot.com/2009/10/ruby-introduction-to-behavioral-driven.html" rel="nofollow">http://jjinux.blogspot.com/2009/10/ruby-introduction-to-beha...</a> - Should be a good starting point...
Please take a look at Chickenfoot<p><a href="http://groups.csail.mit.edu/uid/chickenfoot/index.php" rel="nofollow">http://groups.csail.mit.edu/uid/chickenfoot/index.php</a><p>maybe it does what you want? I was very impressed with a video I had seen about it a couple of years ago.
I think Twill might suit you. Have a look at the example.
<a href="http://twill.idyll.org/examples.html" rel="nofollow">http://twill.idyll.org/examples.html</a>