The intent of Test::CGI is almost the same. It's about crafting test
sequences that will be run against a web application in an automated
fashion. That said, I think RoboWeb wins hands down, author modesty not
withstanding:
1. RoboWeb makes it much easier to generate a test suite, because
test sequence scripts under it are almost completely machine generated,
except assertions, which are easily inserted by entering regexps in the
URL box as you browse through your app. Test::CGI instead requires that
all HTTP requests be hand coded by the test writer.
2. RoboWeb runs against a live web server, versus Test::CGI, which runs
web apps as standalone CGI processes. Test::CGI is less complete
in this regard, because it doesn't allow to test apps in the environment
they'll be running on (e.g. mod_perl apps that rely on persitent
variables are not testable with Test::CGI).
3. The RoboWeb client (which uses LWP::UserAgent and an HTTP::Cookie jar)
supports cookies, which allow it to test most web applications.
Test::CGI does not support cookies.
4. Test::CGI cannot request plain documents, whereas Roboweb can.
5. Both RoboWeb and Test::CGI produce Test::Harness output.
Regards,
Gregorovius |