3

可能显示 Javascript 测试支持

 
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'。构建成功(总时间:4 秒)

这无济于事,因为它不作为单元测试运行,并显示通过/失败等。

我正在使用 netbeans 6.9.1

4

1 回答 1

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 ) ;
    }
}
于 2010-11-19T18:58:09.193 回答