首先介绍一下AutoIt :
AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
首先要使用AUTOIT肯定需要先安装它,安装文件网上很多,这里我就不提供下载地址了~
大家可以自己百度去搜一下,安装完之后,AUTOIT会自动注册一个AUTOITX的DLL COM组件~
接下来就可以在QTP里编写脚本了,如果是10.0的话可以直接在QTP里编写,如果不是就先在VBSEDIT里编写(原因:有代码提示)
1.在QTP脚本视图里输入 Set oAutoIt = CreateObject("AutoItX3.Control")
2.由于在我们安装AUTOIT过程中已经自动注册过了COM,所以通过oAutoIt这个对象可以点出很多方法和属性。
知道了怎么调用之后我们就可以通过一个最简单的实例来了解下AUTOIT究竟是一个怎么样的东西,它能够做些什么
================实例=================
就以飞机订票登陆为例
在QTP脚本视图中输入
'创建对象 Set oAutoIt = CreateObject("AutoItX3.Control") '启动飞机订票 注意路径每个人的路径可能不一样 oAutoIt.Run "D:\\Program Files\\HP\\QuickTest Professional\\samples\\flight\\app\\flight4a.exe" '等待登陆窗口弹出 oAutoIt.WinWaitActive "Login" '给用户名控件发送消息:zzxxbb112 oAutoIt.ControlSend "Login","","Edit1","zzxxbb112" '给密码控件发送消息:mercury oAutoIt.ControlSend "Login","","Edit2","mercury" '点击LOGIN按钮 oAutoIt.ControlClick "Login","","Button1" set oAutoIt=nothing
简单的介绍一下每一步的意思
1.创建COM对象
Set oAutoIt = CreateObject("AutoItX3.Control")
2.RUN方法 ---- 启动对应路径的应用程序,这里因为是QTP10.0的因此路径是在HP下的。10.0一下是在MERCURY下的这个可以直接查找下目标就可以了。
oAutoIt.Run "D:\\Program Files\\HP\\QuickTest Professional\\samples\\flight\\app\\flight4a.exe"
amp;nbsp;
3.这一步是等待LOGIN窗口弹出变为当前激活窗口后,再执行后续的脚本,不然可能出现错误
oAutoIt.WinWaitActive "Login"
4.用户名文本框输入Edit1,至于为什么是Edit1可以使用AutoIt v3 window info 查看,这个东西其实就相当于QTP的SPY
oAutoIt.ControlSend "Login","","Edit1","zzxxbb112"
5.这一步就是输入密码框和前面用户名大同小异
oAutoIt.ControlSend "Login","","Edit2","mercury"
6.也是可以通过INFO来查控件属性
oAutoIt.ControlClick "Login","","Button1"
7.最后释放对象
set oAutoIt=nothing
这样一个简单登录就完成了,我们运行一下看看,是不是自动化了。
总结:
由于AUTOIT对于对象识别都比较底层,特别是对CS识别还是不错的,因此有些时候可以用于弥补QTP对象不能识别时的不足,比如在BS项目中可能会碰到密码控件不能识别或者一些控件不能成功识别的,可以考虑使用AUTOIT的消息发送发放试试。在AUTOIT中还有很多实用的方法,大家可以自己去看一下,总之AUTOIT绝对是一款非常有用的自动化测试辅助工具。
原文转自:http://www.uml.org.cn/Test/201012173.asp