IE的JAVA驱动器jiffie

本文介绍了一种使用Java和JNI库jiffie来自动化控制Internet Explorer的方法,特别适用于Web应用程序的回归测试。通过实例展示了如何设置代理、模拟页面访问及进行页面元素操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘自:http://hujin.iteye.com/blog/387066

好久没有发表文章了,自己都没有访问自己的JAVAEYE,总算空闲了,可以总结下以前项目自己觉得学到的一点好东西给大家了。这篇文章要讲的是jiffie,可能很多搞JAVA的对这个东西不是很熟悉,官方介绍是这样:
a Java/JNI library which allows Microsoft Internet Explorer to be controlled from Java. The primary purpose of this library is to allow automated regression testing of web applications using a framework like JUnit.

简单而言,就是JAVA代码驱动IE来做事情了。刚接触这个东西就很兴奋,因为在项目设计中这个东西真的帮了大忙。如果你想要用它来实现高效率的事件,我想可能有点困难,不过还是有实际用处的。入正题,先上代码。相关的包和使用的DLL文件都在附件中,一下是对重要的方法和代码做点介绍。

// ie 设置代理 
private void setProxy(String proxy) {
try {
// Create a IEProxy instance
IIEProxy ieProxy = IEProxy.getInstance();
// setting proxy parameter
String[] pxy = proxy.split(":");
if (pxy != null && pxy.length == 2) {
ieProxy.setSocksProxy(pxy[0].trim(),new Integer(pxy[1].trim()));
// Enable proxy
ieProxy.enableProxy();
}} catch (IEProxyException e) {
e.printStackTrace();
}
}


以上就是写个方法创建一个设置了SOCKS代理的IE以备使用。接下来就创建InternetExplorer对象来进行模拟页面的访问了。

InternetExplorer ie = new InternetExplorer(); 
ie.setVisible(true);
ie.navigate("http://mail.google.com");
ie.waitReallyWhileBusy();


从英文单词的意思你应该可以看出我在做什么了吧。就是我上面说的,ie.waitReallyWhileBusy()的作用就是要等页面LOAD完毕。系统会把页面进行对象化处理,页面文档是IHTMLDocument2,图像是IHTMLImgElement,文本框是IHTMLInputElement,选择框是IHTMLSelectElement等等。当事物被对象化以后,就可以利用对象自带的属性很方法来完成你的业务逻辑了。
比如:
 inputElement = getInputElement("Name", "firstName"); 
inputElement.setValue(info.getFirstName());

if(checkError(document.getBody().getOuterText())){
return;
}
private boolean checkError(String outerText) {
if(outerText.indexOf("An error has Occurred on this page")!=-1){
return true;
}
return false;
}

还有很多诸如此类的使用,这个要在充分了解本篇文章讲的事物:jiffie以后才会使用更爽啊!
抛砖引玉,希望大家能在这个基础上掌握更多的东西,也希望这个玩意对大家有帮助。
官方URL:http://jiffie.sourceforge.net/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值