如何使用htmlunit填充页面中的所有表单

时间:2013-01-25 16:50:44

标签: htmlunit

是否可以使用 htmlunit 测试用随机数据填充所有形式的页面(然后单击所有按钮)?有谁知道一个例子?

1 个答案:

答案 0 :(得分:0)

可以这样做:

HTMLPage page = /* Your Page */
List<HTMLForm> forms = page.getForms();
for(HTMLForm form : forms) {
  List<HTMLElement> elms = form.getHtmlElementsByTagNames(Arrays.asList("input", "textarea"/*etc*/));
  List<HTMLSubmitInput> submits = new List<HTMLSubmitInput>();
  for(HTMLElement elm : elms) {
    if(elm instanceof HTMLSubmitInput) { 
      submits.add((HTMLSubmitInput) elm);
    } else if (elm instanceof  HtmlTextInput || elm instanceof HtmlPasswordInput) {
      ((HTMLInput) elm).setValue("BLA"/* add your random text here */)
    } // Add more input types if you want
  }
  for(HTMLSubmitInput submit: submits) {
    submit.click(); /*Capture the page here*/
  }
}

对于更多这些输入类型,您可以查看HtmlInput JavaDocs