AutoIT最初是为了帮助IT管理和维护而开发的工具,能自动完成软件的安装。由于自动化安装和自动化测试在功能需求上有许多相似之处,都要模拟用户对软件进行操作,并验证执行的结果,所以,AutoIT逐渐成为一款具有BASIC语言风格的自动化测试工具,它可以识别各种Windows控件并进行操作和验证,从而帮助我们实现Windows客户端软件的自动化测试任务。

AutoIT的主要特征有:

  • 模拟击键动作(支持大多数的键盘布局);
  • 模拟鼠标移动和点击动作,包括单击、双击和拖拽动作;
  • 对窗口进行移动、调整大小和其他操作;
  • 直接与窗口的“控件”交互(设置/获取控件的相关属性);
  • 配合剪贴板进行剪切、粘贴文件操作;
  • 对注册表进行修改;
  • 执行Windows及DOS下的可执行文件;
  • 将脚本直接转换成独立的exe可执行文件。

安装

从官方网站(www.autoitscript.com)下载安装包(如autoit-v3-setup.exe),启动它,就开始安装,并根据提示进行操作。在安装中,要选择脚本操作的模式,如下图所示,有两种模式,一般选“Edit the script”。

  • Run the script,则双击au3脚本时会直接运行脚本。
  • Edit the script,则双击au3脚本时会打开脚本编辑器。

然后再选择安装路径(Destination Folder),可以使用默认路径或指定任意路径,点击“Install (安装)”,系统开始拷贝文件……,完成安装。

AutoIT使用类似于VBScript和BASIC的脚本语言,同时支持更加复杂的表达式、用户函数、循环以及其他功能。AutoIT被设计尽可能小。使用其中的工具――Aut2Exe,可以把脚本文件编译为可独立运行的EXE文件,而使用AutoItX可以将它作为内核嵌入其他工具中使用。AutoIT安装后,安装目录下的主要模块及其功能说明请参考下表。

文件与目录

详细信息

AutoIt3.exe

AutoIt的主程序,脚本文件仅需它即可以解释运行(UNICODE版本)

AutoIt3A.exe

AutoIt的主程序,脚本文件仅需它即可以解释运行(ANSI版本)

AU3Info.exe

AutoIt窗口信息工具(AutoIt Window Info Tool)

Aut2Exe.exe

脚本编辑器(Unicode码),用于将au3脚本编译成exe可执行文件

Aut2ExeA.exe

脚本编辑器(ANSI码),用于将au3脚本编译成exe可执行文件

AutoITSC.bin

编译脚本所需的可执行体(stub,根)

Include目录

官方提供的库文件,这里面有大量丰富的库函数方便我们写脚本时使用

AutoItX3目录

包含可以被嵌入到其他工具和语言中去的DLL版本的AutoIt v3

SciTE目录

包含AutoIT的脚本编译器

为何选用AutoIT

一般来说,一套完整的自动化测试工具主要由以下几个部分组成:

  1. 测试脚本开发环境(IDE),用于编写和调试测试脚本;
  2. 测试脚本执行引擎;
  3. 测试脚本的自动分发和数据同步;
  4. 测试脚本的组织和管理系统;
  5. 测试报告系统。

但具备上述功能模块的商业测试软件,其价格不莫,许多中小型软件公司难以承受。同时,每个公司对于脚本的组织管理和测试报告的要求也不完全一致,商业测试工具又很难完全满足每个公司的特定需求,这样,很多公司即使购买了商业工具,也主要使用上述前3个功能,而后两个功能不能很好使用,一般还要进行二次开发,才能满足自己公司的需要。另外,商业工具为了尽可能地占有市场,往往提供许多额外而复杂的功能,而这些功能对于大多数用户来说平时很少用,却大大加重了工具的学习难度和公司的投入成本。

而AutoIT是一款简单而优秀的免费软件,一方面我们不用担心费用问题;另一方面在功能上,AutoIT已经提供了自动化测试工具最核心的功能;编写、调试和执行脚本的功能。而脚本的组织管理和测试报告部分,则可以根据每个公司的特点来自行开发或选用第三方的管理工具,如可以选用开源配置管理工具CVS、Subversion等来管理脚本。对于测试报告,您可以自己编写一个程序来读入AutoIT的测试执行日志,生成结果报表。

同时,AutoIT学习起来非常简单,根据我们的使用经验,一般测试人员只需很短的时间(1周时间)就可以迅速掌握它,而一般大型商业工具都须要花费测试人员一、二个月或更长的时间来学习掌握。

AutoIT是一款完全免费、开放的工具,小巧灵活,扩展性好,易于被定制,功能强大而又使用简单,同时有着广大的用户群体和官方不断的技术支持和功能升级,因此,越来越多的公司使用AutoIT来实现客户端软件的自动化测试。

AutoIT简介的更多相关文章

  1. UI自动化测试(四)AutoIT工具使用和robot对象模拟键盘按键操作

    AutoIT简介 AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/ ...

  2. C/S架构自动化测试入门

    所谓C/S架构即Client/Server(客户端/服务器架构).虽然近年来C/S架构产品越来越少,大有被B/S(Browser/Server 浏览器/服务器)架构超越的趋势,但C/S还是有B/S不可 ...

  3. C/S架构系统自动化测试入门

    所谓C/S架构即Client/Server(客户端/服务器架构).虽然近年来C/S架构产品越来越少,大有被B/S(Browser/Server 浏览器/服务器)架构超越的趋势,但C/S还是有B/S不可 ...

  4. windows gui测试工具:AutoIt

    windows gui测试工具:AutoIt 2017-01-09 目录 1 简介2 示例1 记事本自动化操作3 示例2 上传文件 1 简介 返回 AutoIt v3 是用以编写并生成具有 BASIC ...

  5. autoit 简单使用-- 操作windows窗口

    autoit 简单使用 autoit中文交流论坛: http://www.autoitx.com/index.php 1 下载 autoit 中文安装包 : https://yunpan.cn/OcP ...

  6. RobotFramework_1.简介和安装

    RobotFramework_1.简介与安装 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bot ...

  7. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  8. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  9. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

随机推荐

  1. javascript中apply()和call()方法的区别

    一.方法的定义 call方法: 语法:call(thisObj,Object)定义:调用一个对象的一个方法,以另一个对象替换当前对象.说明:call 方法可以用来代替另一个对象调用一个方法.call ...

  2. JavaScript中instanceof运算符的用法以及和typeof的区别

    instanceof : 判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例:返回boolean类型栗子①: var aColors = ["red", "g ...

  3. 换iphone5屏幕你花了多少钱?不防我们看下市场的批发价格

    看来人家批发价也不便宜啊,你修一块花了多少米 免费b2b平台  US $1 - 79.99 / Piece Factory Price for iphone 5" lcd alibaba   ...

  4. [Android]编译错误:Could not get unknown property 'release' for SigningConfig container

    使用Gradle进行安卓编译时,出现如下错误: Could not get unknown property 'release' for SigningConfig container. 原因: 在主 ...

  5. Python数据结构与算法--数据类型

    从数据类型开始 Python支持面向对象的编程范式,这意味着Python把数据看成解决问题的关键. 在Python中,类似其他的面向对象的编程语言, 我们定义一个类,用来描述数据是什么 (状态) 和数 ...

  6. Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例(转)

    Java中==.equals.hashcode的区别与重写equals以及hashcode方法实例  原文地址:http://www.cnblogs.com/luankun0214/p/4421770 ...

  7. IOS 网络浅析-(十三 SDWebImage 实用技巧)

    IOS 网络浅析-(十三 SDWebImage 实用技巧) 首先让我描述一下为了什么而产生的实用技巧.(在TableView.CollectionView中)当用户所处环境WiFi网速不够快(不能立即 ...

  8. XP重装之后蓝屏

    最近帮公司的电脑重装XP系统,发现重装之后电脑重启的时候蓝屏 解决方法:开机-->f2-->找到SATA Configration --> 选择ide 重启,就ok了

  9. JQuery EasyUI中datagrid的使用

    在学习过程中,可以参照JQuery EasyUI的官方网站学习.地址:http://www.jeasyui.com/demo/main/index.php 在学习JQuery EasyUI中的Data ...

  10. 剔除editor编辑器中的HTML标签

    1.剔除editor编辑器中的HTML标签 public static string striphtml(string strhtml)    {        string stroutput = ...