Java中调用AutoIt操作控件

   AutoIt作为一门脚本语言,能够比较自如的操控Window系统中的控件,模拟Windows用户的操作。例如打开IE浏览器、打开文本编辑器等操作,更重要的是,它能够向网银中的安全控件输入内容,而Selenium无法做到

    要在Java中使用autoit, 这里有一个文件autoit4java ,它利用了JACOB 技术通过COM来访问Autoitx。这里的COM技术也就是组件对象模型技术咯,JACOB是指java com brige,也就是java与com的桥梁,它使用的是JNI技术进行封装实现的。而AutoItX是AutoIt3提供的针对其它编程语言和开发环境的一个组件。该组件支持ActiveX/COM/DLL调用。因此,基于AutoIt3的这个feature,你完全可以摆脱其自带的开发环境,转而使用你擅长的编程环境通过调用AutoItX辅助完成自动化测试的任务。个人认为这是一个进步,更是广大工具粉丝的福音。

即:Java》》JacoB》》COM》》Autoitx>>autoit功能

 

使用入门:

下载autoitx4java 包,地址在code.google.com/p/autoitx4java。解压后直接将jar包添加到工程里面。然后需要使用jacob包,下载地址,http://sourceforge.net/projects/jacob-project/

选择32或64位对应的dll文件,存放到c:\windows\system32  目录下,里面有很多的dll文件,然后再在JDK下的jre>BIN里面放一份dll,以及独立的JRE包下bin里面放一份。

然后再把jar包添加到工程,就OK了。

 

以下代码经测试可用:

环境:WIN7 32位,JDK1.8 , JACOB1.18 (经测试,1.6的JDK不支持,1.7可以)。eclipse随意。

 

File file = new File("lib","jacob-1.18-x86.dll"); //path to the jacob dll
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath()); 

AutoItX x = new AutoItX();
String notepad = "无标题";
String testString = "this is a test.";
// x.run("notepad.exe");这个不行,必须要加参数
x.run("notepad", "C:/Windows/System32", AutoItX.SW_MAXIMIZE);

 

可以看到记事本被打开了。

说明环境没问题,剩下的需要参看帮助文档了。

比如怎么打开IE浏览器之类的操作。

你可能感兴趣的:(自动化测试)