【软件测试自动化-QTP系列讲座 9】 AutoItX技术的应用

发表于:2015-07-14来源:uml.org.cn作者:不详点击数: 标签:
AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来

  首先介绍一下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