Web測試工具:HtmlUnit
對于Java程序,HtmlUnit是一個“無界面的瀏覽器”。以 HTML documents 為模型,且提供了一個API允許你來調用頁面、填寫表單、點擊鏈接等等,就像操作一般的瀏覽器一樣。
其對于JavaScript的支持非常強大(且在持續提升),甚至能夠支持相當復雜的Ajax庫,可以通過配置來模擬你想模擬的FireFox或Internet Explorer瀏覽器。
HtmlUnit常常用來測試或者檢索網站的數據。
HtmlUnit不是一般的單元測試框架,以一個特別的方法來模擬瀏覽器從而達到測試的目的,常常在另外的測試框架如Junit 或 TestNg中使用。
與一些開源的工具Canoo WebTest, JWebUnit, WebDriver, JSFUnit, Celerity不同,被當做一個看不見的瀏覽器來使用。
- 支持HTTP和HTTPS協議
- 支持cookies
- 能夠制定當從服務端獲取響應失敗時,是拋出異常還是根據內容類型返回特定的頁面
- 支持提交方法 POST和GET (HEAD, DELETE, ...)
- 能夠定制發送到服務器的請求信息報頭
- 對Html響應的支持
- 支持代理服務器
- 支持基本的和 NTLM 認證
- 非常優秀的JavaScript支持 </ul> </div>
- jQuery 1.2.6: Full support
- MochiKit 1.4.1: Full support
- GWT 2.0.0: Full support
- Sarissa 0.9.9.3: Full support
- MooTools 1.2.1: Full support
- Prototype 1.6.0: Very good support
- Ext JS 2.2: Very good support
- Dojo 1.0.2: Good support
- YUI 2.3.0: Good support
</ul>
- @description HtmlUnit工具的簡單使用測試
- @author ZhouJingxian
*/
public class Test_HtmlUnit extends TestCase{/**
- 測試主頁標題
- @throws FailingHttpStatusCodeException
- @throws MalformedURLException
@throws IOException
*/
public void testHomePage() throws FailingHttpStatusCodeException, MalformedURLException, IOException{final WebClient webClient = new WebClient();
final HtmlPage startPage = webClient.getPage(" // assertEquals("HtmlUnit - Welcome to HtmlUnit", startPage.getTitleText());
System.out.println("title:"+startPage.getTitleText());
}
/**
- 兩個測試類的輸出都如下:
- title:HtmlUnit - Welcome to HtmlUnit
*/
} </pre></div> </span></span></span>
Htmlunit簡單使用代碼
import java.io.IOException;
import java.net.MalformedURLException;import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;import junit.framework.TestCase;
/**
// assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
System.out.println("title:"+page.getTitleText());
}
/**