WebSpec是Watij自动化测试项目里面的一个类。Watij工具调用ie、firefox等浏览器对网页进行测试,也就是说可以解析javascript,对于那些需要手工操作的填表单等工作都可以用Watij模拟。
下面以自动点击baidu,并填入“黄河”为搜索关键词进行搜索作为例子。
先用Dreamweaver查看baidu首页的源代码。
- <divid="m"><pid="lg"><imgsrc="http://www.baidu.com/img/baidu_sylogo1.gif"width="270"height="129"usemap="#mp"><mapname="mp"><areashape="rect"coords="40,25,230,95"href="http://hi.baidu.com/baidu/"target="_blank"title="点此进入百度的空间"></map></p><pid="nv"><ahref="http://news.baidu.com">新闻</a> <b>网页</b> <ahref="http://tieba.baidu.com">贴吧</a> <ahref="http://zhidao.baidu.com">知道</a> <ahref="http://mp3.baidu.com">MP3</a> <ahref="http://image.baidu.com">图片</a> <ahref="http://video.baidu.com">视频</a> <ahref="http://map.baidu.com">地图</a></p><divid="fm"><formname="f"action="/s"><spanclass="s_ipt_wr"><inputtype="text"name="wd"id="kw"maxlength="100"class="s_ipt"></span><inputtype="hidden"name="rsv_bp"value="0"><inputtype="hidden"name="rsv_spt"value="3"><spanclass="s_btn_wr"><inputtype="submit"value="百度一下"id="su"class="s_btn"onMouseDown="this.className='s_btns_btn_h'"onMouseOut="this.className='s_btn'"></span></form><spanclass="tools"><spanid="mHolder"><divid="mCon"><span>输入法</span></div></span></span><ulid="mMenu"><li><ahref="#"name="ime_hw">手写</a></li><li><ahref="#"name="ime_py">拼音</a></li><liclass="ln"></li><li><ahref="#"name="ime_cl">关闭</a></li></ul></div>
输入框对应的源代码:<input type="text" name="wd" id="kw" maxlength="100" class="s_ipt">
“百度一下”按钮对应的源代码:<input type="submit" value="百度一下" id="su" class="s_btn" onMouseDown="this.className='s_btn s_btn_h'" onMouseOut="this.className='s_btn'">
用WebSpec打开baidu的url,并填入“黄河”,点击搜索:
- publicvoidrun(){
- WebSpecspec=newWebSpec().ie();
- if(spec.ready())
- {
- spec.open(url);
- spec.pauseUntilReady();
- spec.find.input().with.name("wd").set.value("黄河");
- spec.find.input().with.id("su").click();
- System.out.println(spec.source());
- }
- else{
- System.out.println("notready");
- }
- spec.close();
- }