如何使用Perl自动化网站测试?

时间:2010-10-25 17:16:39

标签: perl testing

  

可能重复:
  Integration Testing for a Web App

我最近钻研了Perl,我想学习如何自动化网站测试。为此,我很欣赏以下内容的答案:

  1. 我应该研究一下CPAN的哪些模块?是否有类似于Watir的东西(我知道在Perl中只有一个Windows的端口)?
  2. 我使用的是Windows系统,如果我使用ActivePerl或Strawberry Perl,这有关系吗?
  3. 我应该研究哪些书(除了“Perl测试:开发人员的笔记本”)?
  4. 修改

    1. Web应用程序是用Java编写的
    2. 我想测试应用程序的Web GUI,它使用了javascript / ajax&一些flex / flash

2 个答案:

答案 0 :(得分:2)

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

  2. 在下载CPAN模块时,ActivePerl比Strawberry更友好,但在一天结束时它们同样好。

  3. 我没有遇到过关于这个问题的书;或许你需要tutorial

答案 1 :(得分: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端代码:

  • 让所有非表示逻辑很好地模块化,并使用Test :: More或您喜欢的其他测试框架照常测试。

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