2010-10-25 17 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應用程序。