存档

文章标签 ‘htmlunit’

htmlunit,不仅仅用来做单元测试的

2010年4月9日 没有评论

htmlunit,用于网站单元测试的,在它的主页,介绍说“是一款没有图形界面的浏览器”,可以做浏览器做的很多事情,比如浏览页面、填充表单、模拟点击按钮等等。优点有:

  1. 支持javascript
  2. 可模拟多种浏览器,如firefox、ie6/7/8
  3. 建立在httpclient之上,简化了很多,接口更清晰和直接

当然,它不是真正的浏览器,还是有一些缺陷,如对javascript的支持没有浏览器那么全面,这个项目一直在持续中,相信以后会有更好的支持。

htmlunit的初衷是用于验证网站开发中页面UI上的功能正确性,一直以来,页面UI的测试都脱离不了测试人员通过肉眼来验证是否正确,这样的效率很低,也很可能出错,利用htmlunit,一方面可以自动化测试,一方面减少了人力方面的资源,一举两得。

换个角度思考,既然htmlunit可以用来验证,当然也可以用于其他方面。很明显的一点,就是可以用来做网络爬虫,这几年web2.0概念如火如荼,很多网站都大量采用了AJAX技术,动态加载页面内容,导致传统的网络爬虫抓瞎,因为传统的网络爬虫不支持javascript,抓取的页面都是动态加载前的内容,而htmlunit通过javascript的支持,应该可以取得更好的结果。

另外一点,可以用来模拟很多行为。比如模拟登录邮箱,将邮件读取显示出来,这样不用打开浏览器或邮件客户端即可以读到最新的邮件,或者模拟登录开心农场,定时去收菜或偷菜,此类网页游戏的外挂,使用htmlunit写起来应该不是很困难的事情。

参考:

  1. htmlunit主页
分类: java 标签: ,