2010-11-17 58 views
3

可能顯示的Javascript測試支持是否有日誌的HtmlUnit的工作示例和點擊幾下


package htmlunitpoc; 

import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlForm; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; 

/** 
* 
* @author 
*/ 
public class HtmlPoc { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) throws Exception { 

     WebClient wc = new WebClient(); 
       HtmlPage page = (HtmlPage) wc.getPage("http://www.google.com"); 
       HtmlForm form = page.getFormByName("f"); 
       HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("btnG"); 
       HtmlPage page2 = (HtmlPage) button.click(); 

    } 


} 

,但我得到:

2010年11月17日下午3時41分14秒com.gargoylesoftware.htmlunit .IncorrectnessListenerImpl通知 警告:遇到過時的內容類型:'text/javascript'。 BUILD SUCCESSFUL(總時間:4秒)

這不利於,因爲它不會作爲一個單元測試運行,並顯示通過/失敗等

我使用NetBeans 6.9.1

+1

這是什麼都在標題中以「https」開頭呢? – LarsH 2011-05-10 20:58:01

回答

1

那是因爲你沒有把它寫成單元測試。 HtmlUnit有些不正確,因爲它本身並不是一個測試運行器,而是一個「無頭瀏覽器」,它允許您與Java網站進行交互,就好像您是瀏覽器一樣。

試試這個:

import junit.framework.TestCase; 

import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlForm; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; 

public class HtmlPoc 
    extends TestCase 
{ 
    public void test() 
     throws Exception 
    { 
     WebClient wc = new WebClient(); 
     HtmlPage page = (HtmlPage) wc.getPage("http://www.google.com"); 
     HtmlForm form = page.getFormByName("f"); 
     HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("btnG"); 
     HtmlPage page2 = (HtmlPage) button.click(); 
     assertNotNull(page2) ; 
    } 
}