2011-06-19 34 views
4

我看到了railscast http://railscasts.com/episodes/257-request-specs-and-capybara,它描述瞭如何在Rails應用程序上使用帶RSpec的Capybara。水豚+ RSpec:它可以用於任何網絡應用程序?

是否有可能使用Capybara/Selenium來測試您無法訪問代碼的Web應用程序,或者它不是Ruby/Rack應用程序。換個角度來看,是否有可能使用水豚/硒黑盒測試一個網絡應用程序?如果是這樣,怎麼樣?

我問,因爲所有的代碼示例都暗示存在Ruby或Rails代碼庫。

回答

0

我看不出有什麼理由不可能做到這一點。假設你的Web應用程序可以通過HTTP訪問,你應該沒問題(這顯然很可能是真的)。

所有RSpec請求規格基本上都是黑盒測試。這就是Request Specs的要點 - 您想要模擬真實用戶並練習整個應用程序堆棧 - 從HTML視圖開始直至數據庫訪問。黃瓜特徵也是如此。

編寫規範可能不太舒適,因爲不能依賴Web應用程序來遵守Rails約定。

無論如何...我希望這可以幫助。

0

當然,最常見的初始測試是自動化www.google.com。事實證明,這是一個糟糕的第一次嘗試(現代Google非常AJAX和微妙),但這是大家首先想到的。 GMail很快跟進,甚至更多。 :-)

+0

你可以點我描述瞭如何自動google.com的測試網址? –

0

是的。 您只需使用直接訪問您要測試的URL的「訪問」功能即可。

visit 'http://www.gmail.com' 

然後,你可以找到任何使用HTML元素豚功能

find("input#Email").set("superman") 
all("input#Email")[0].set("superman")