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. 【GOF23设计模式】组合模式

    来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_组合模式.树状结构.杀毒软件架构.JUnite底层架构.常见开发场景 package com.test.composite ...

  2. 用javascript实现全选/反选组件

    以下是本人制作的全选/反选 组件,供广大同行参考.指正: 效果如图: 在实现的过程中,全选和全部取消选中这两个功能较为简单,只需用for循环遍历所有复选框为true或false即可.反选也较为简单,也 ...

  3. C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

    C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...

  4. CRM2013版本 IOS APP 说明(IPhone、IPad)

    CRM2013版本 IOS APP 说明(IPhone.IPad) IPhone版本 首页 CRM APP在登录时输入账号信息,可以进行首面.其首页显示内容可以在CRM后台设置. 系统默认显示:Pho ...

  5. MSCRM 2011 操作大全

    CRM字段类型:货币:new Money(Decimal){SQL更新Money类型字段,需要同时更新_base字段,存在汇率差的时候值不同}查找:new EntityReference(object ...

  6. Python基础(10)--数字

    本文的主题是 Python 中的数字.会详细介绍每一种数字类型,它们适用的各种运算符, 以及用于处理数字的内建函数.在文章的末尾, 简单介绍了几个标准库中用于处理数字的模块. 本文地址:http:// ...

  7. IOS开发中返回值为null时的处理

    在IOS开发中,如果得到了null返回值很容易造成程序崩溃,null和nil的判断方法不同. nil的判断方法: if(data==nil) {      NSLog(@"data is n ...

  8. android activity 管理器AMS----概述

    AMS & WMS,应该是app端打交道最多的2个framwork层的service. ActivityManagerService 是android提供给用于管理Activity运行状态的系 ...

  9. MYSQL数据库函数集合

    一.数学函数 ABS(x)   返回x的绝对值 BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)   返回大于x的最小整数值 EXP(x)   返回值e( ...

  10. MongoDB学习笔记——文档操作之查询

    查询文档 使用db.COLLECTION_NAME.findOne()可以查询所有满足条件的第一条数据 预发格式如下: db.COLLECTION_NAME.findOne(<query> ...