4

我需要以REST格式測試Web API函數。目前使用Selenium RC進行網站功能測試。並使用XmlUnitHttpClient功能測試我們的REST API。但是如果我們真的能夠將我們的功能測試代碼分離到所有的硒中,生活似乎會變得更加容易。特別是使用Selenium 2.0的WebDriver,使用XPath來測試XML響應比以往任何時候都容易。Selenium與XmlUnit + HttpClient進行Web REST API測試

我在臨XmlUnit+HttpClient陣營的想法:

  • 允許輕鬆地與數據庫直接調用或Spring bean的測試
  • 更容易讓測試JSON響應當/如果我們支持,在未來的
  • 硒是用於網絡用戶界面,而不是REST API測試

我在Pro Selenium WebDriver陣營的想法:

  • 功能測試分離出全部納入標準Selenium測試
  • 輕鬆地通過使用我們的其他硒的UI測試,進一步測試UI
  • 允許別人比核心開發人員審查功能API測試
  • 也許測試結果更容易使用諸如使用硒測試的BrowserMob之類的服務來加載測試API?
  • 希望更快的功能測試與硒的框架

我們使用Spring 3和休眠。功能測試我們的API最適合什麼?

回答

6

另一個選擇可能是使用REST Assured,一個Java DSL來測試REST服務。它允許您編寫單元樣式測試,同時爲XML和JSON提供很少的樣板代碼。此外,它還提供更高級的功能,如身份驗證,XSD/DTD驗證,響應代碼,cookie等。更多信息請見usage page

聲明:REST Assured是一個由我的同事發起的開源項目。

-1

測試API聽起來不像功能測試,但更像是單元測試。所以,我會去XMLUnit測試+ HttpClient的

+0

嗯......我想測試一個API是在單位和功能之間...好點。 – 2010-12-07 23:29:02

+1

我稱之爲集成測試,而不是單元測試。假設API背後的代碼是經過單元測試的,這種測試大多會驗證單元測試假設是正確的,因此可以正確地整合不同的單元。 – 2012-09-27 14:06:33

2

如果你想要做休息API真實的功能測試,然後我可以推薦FitNesse的這個夾具:https://github.com/smartrics/RestFixture

硒是隻爲這種事情一個糟糕的選擇。

至於性能測試,您可以在幾分鐘內敲掉Jmeter中的其餘API測試,無需支付第三方費用。