2010-10-25 57 views
2

可能重复:
Integration Testing for a Web App如何使用Perl自动化网站测试?

我最近钻研Perl和我想了解如何自动化网站测试。为此,我会很感激以下答案:

  1. CPAN应该查看哪些模块?有没有类似于Watir的东西(我知道Perl中只有一个Windows的端口)?
  2. 我正在使用Windows系统,所以如果使用ActivePerl或Strawberry Perl,这一点很重要吗?
  3. 我应该看看哪些书(除了“Perl Testing:开发人员笔记本”)?

编辑:

  1. Web应用程序是用Java编写
  2. 我要测试的应用程序的Web GUI,这使得使用的JavaScript/AJAX &一些弯曲/闪光的
+0

您是否使用Catalyst或类似框架? – 2010-10-25 23:05:25

回答

2
  1. WWW::MechanizeWWW::SeleniumLWP::Simple只是仅举几例。

  2. 在下载CPAN模块时,ActivePerl比草莓更方便用户使用,但是在一天结束时,它们都同样好。

  3. 我还没有遇到任何关于这个问题的书籍;也许tutorial是你需要的。

1

您是否对通过http调用或单个Perl模块直接调用Perl代码测试WEB GUI本身感兴趣?对于前者,Selenium-- AFAIK根本不是Perl专用的 - 似乎是公认的最佳实践(参见Ether提供的Integration Testing for a Web App链接)。它有一个用于集成的Perl CPAN模块,在同一个SO问题中提到过。

你当然可以做你自己的测试框架,例如通过WWW::Mechanize实施http调用。但是这对于启用了JavaScript的网站来说不起作用(还有什么不是吗?),因为你需要一个JavaScript引擎,无论是由浏览器提供的(Selenium的方法),还是嵌入了AFAIK Perl实际没有的东西,尽管Java的确如此。

不过,也有非HTTP方法来测试Web的Perl的端代码的应用程序,以及:

  • 让所有非表示逻辑很好的模块化了,并采用测试::测试它像往常一样更多或者你最喜欢的测试框架。

  • 通过在命令行模式下使用您的Web框架测试演示文稿(或演示文稿+逻辑),模拟在Web服务器上运行。 CGI。下午允许,以及EmbPerl。不确定Catalyst应用程序。