1

有一個web應用程序需要測試。這個應用程序使用AJAX和jQuery。爲了與瀏覽器和客戶端進行所有可能的交互,必須編寫測試。有一些工具,例如Selenium IDE,但我想知道是否可以使用任何無頭瀏覽器。遠程JavaScript web應用程序的無頭測試

因此,對於測試系統的要求是:從遠程服務器

  1. 查詢頁面,模擬瀏覽器的行爲(主要是我們給出的模擬瀏覽器的URL,瀏覽器抓取網頁的內容和它啓動測試);
  2. 注入已測試的JavaScript或已經加載到遠程頁面上的測試JavaScript;
  3. 使用任何可以與任何CI軟件(Jasmine,Mocha等)集成的測試框架。

例如,在處理AJAX請求時可以使用模擬技術,但我試圖測試真實應用程序。希望這個問題對任何人都有用。

+1

http://phantomjs.org/ – sabithpocker 2014-09-27 03:30:48

回答

0

據我調查這個話題,迄今爲止沒有辦法做到這一點。

在我的情況下,我有一個服務器PHP應用程序,使用REST接口與外部世界進行交談。我的JavaScript代碼與服務器通話並根據響應執行一些界面操作。所以,我的目標是測試JavaScript代碼,但它幾乎不依賴於服務器端。所以,我要測試JavaScript的方式:

  1. 使用嘲笑,考慮仰視this article。你基本上模擬你的服務器端API。這種方法存在問題 - 無論何時您更改API,您必須在您的模擬中執行相應的更改,因此測試集將是實際的。

  2. 從PHPUnit測試(或使用任何服務器端測試)直接調用JavaScript測試實用程序 - 不幸的是,還沒有解決方案。但是這種方法可以節省大量開發人員的時間(無需爲100-200個示例查詢重寫模擬),我們也可以即時指導服務器的行爲。

請給出第二種方法的反饋意見。如果真的需要,我想這是有意義的實施它。