随着互联网不断发展,它给我们带来便利的同时,也带来了枯燥、重复、机械的重复工作。今天,我要和大家分享一款老牌实用的自动化工具:AutoIt,它能够让你告别繁琐的重复性工作,提高工作效率。

这里透露一下,AutoIt算是作者在10年前,用的最多的一款自动化测试工具了。当时自动化测试工具还并没有像如今这么“繁荣”,当年作者最常用的自动化组合技能:AutoIt+QTP+VBS

1、AutoIt介绍

AutoIt是一款类似BASIC脚本语言,且完全免费用于自动化Windows操作系统的脚本语言和工具集。

它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现各类自动化任务,包括自动化软件安装、登录、数据自动录入、界面自动化测试、数据抓取等,以及可以和其他自动化工具结合起来使用,比如,我们在使用Selenium做自动化测试Web应用时,当弹出一个选择文件的弹框,由于这个弹框是属于操作系统的而非浏览器,Selenium程序就无法进行后续的操作了,这时侯就我们就可以使用AutoIt编写自动化脚本,来执行后续的自动选择文件的操作。

2、AutoIt特点、适用场景

AutoIt 的语法简单易懂,适合新手入门,但同时支持的功能也非常强大,适合高级用户进阶使用。

例如:AutoIt支持非常丰富的内置函数和库,可以方便地处理窗口、文件、注册表等系统资源。此外,AutoIt还提供了一个独立的编辑器和编译器,可以将脚本编译成可执行文件,方便在没有安装AutoIt环境的计算机上运行。

AutoIt广泛应用于自动化测试、系统管理、软件部署等领域,是一个功能强大且易于上手的自动化工具。由于其灵活性和可扩展性,AutoIt也被许多人用于编写各种自定义的Windows脚本和小工具。

AutoIt在以下应用场景包括但不限:

  • 自动化软件安装和配置:AutoIt可以模拟用户的鼠标和键盘操作,用于自动安装和配置软件,包括点击按钮、输入文本、选择选项等操作。
  • UI界面自动化测试:AutoIt可以用于自动化测试,模拟用户操作来测试应用程序的界面和功能,以确保其正常工作。
  • 数据抓取和处理:AutoIt可以用于抓取网页数据、处理Excel表格、操作数据库等,实现自动化的数据处理任务。
  • 系统管理:AutoIt可以用于自动化执行系统管理任务,如自动备份文件、清理临时文件、定时执行特定任务等。
  • 自定义工具开发:AutoIt可以用于编写各种自定义的Windows脚本和小工具,满足特定需求,如快速文件重命名、自动化文件操作等。

总之,AutoIt是一个功能强大的自动化工具,适用于各种需要自动化操作的场景,能够大大提高工作效率和减少重复性工作。

3、AutoIt安装、使用

1、访问AutoIt官网

https://www.autoitscript.com/site/autoit/

2、官网WIKI中,提供了详细的帮助文档、使用教程,非常适用新手入门



在编写自动化脚本时,AutoIt 提供了强大的功能,可以处理鼠标和键盘事件,注册热键,发送指定消息,操作窗口和控件,甚至可以调用 Windows API 函数,以及处理 Excel 文件和截屏等,可以满足各种自动化需求。

3、使用前,先下载:

https://www.autoitscript.com/site/autoit/downloads/

安装完成后打开AutoIt v3所在的文件夹

4、查看API手册:

也可以访问AutoIt在线版帮助文档:

https://www.autoitx.com/Doc/

5、提取窗口信息

打开AutoIt提供的窗口信息提取工具



将Finder Tool的定位光标拖拽到窗口中的某控件上,获取窗口及控件相关信息

6、以下是一些AutoIt自动化脚本的实用示例

自动化软件安装:模拟用户的鼠标和键盘操作,自动安装软件并完成配置,如下所示:

Run("setup.exe")
WinWaitActive("Setup")
Send("{ENTER}")
WinWaitActive("License Agreement")
Send("!a")
Send("{ENTER}")
WinWaitActive("Select Destination Location")
Send("{ENTER}")
WinWaitActive("Select Additional Tasks")
Send("{ENTER}")
WinWaitActive("Ready to Install")
Send("{ENTER}")
WinWaitActive("Installation Complete")
Send("{ENTER}")

界面测试:模拟用户的操作来测试应用程序的界面和功能,如下所示:

Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("This is a test.")
Send("{ENTER}")
WinWaitActive("Save As")
Send("test.txt")
Send("{ENTER}")
WinWaitActive("Notepad")
Send("!f")
Send("x")

数据抓取和处理:抓取网页数据、处理Excel表格、操作数据库等,如下所示:

#include <Excel.au3>
Local $oExcel = _Excel_Open()
Local $oWorkbook = _Excel_BookNew($oExcel)
_Excel_RangeWrite($oWorkbook, Default, "A1")
_Excel_RangeWrite($oWorkbook, Default, "B1")
_Excel_RangeWrite($oWorkbook, Default, "C1")
_Excel_RangeWrite($oWorkbook, Default, "A2", "http://www.example.com")
_Excel_RangeWrite($oWorkbook, Default, "B2", "Example")
_Excel_RangeWrite($oWorkbook, Default, "C2", "12345")
_Excel_SaveAs($oWorkbook, "example.xlsx")
_Excel_Close($oExcel)

系统管理:自动化执行系统管理任务,如自动备份文件、清理临时文件、定时执行特定任务等,如下所示:

FileCopy("C:\Users\user\Desktop\example.txt", "C:\Users\user\Documents\backup\example.txt")
DirRemove("C:\Windows\Temp", 1)
Sleep(60000)
Run("C:\Users\user\Desktop\example.exe")

7、将au3转换为exe

AutoIt脚本后缀为.au3,双击脚本文件,即可运行脚本,也可以将脚本自动转换成exe文件。

例如,选择demo.au3文件,点击Convert按钮生成demo.exe文件

4、小结

总之,AutoIt是一个非常有用的自动化工具,可以帮助我们自动化执行各种任务,提高工作效率。这里提供的示例和功能特性只是其中的一小部分,实际上,AutoIt还有很多强大的功能和库,可以实现更多的自动化任务。来吧,小兄弟,如果你还在为每天重复而枯燥的工作而烦恼,不妨来试试Autolt吧!

强!推荐一款自动化神器Autolt:不再重复工作的更多相关文章

  1. 推荐一款作图神器:ProcessOn

    本人近日发现一款作图神器:ProcessOn 它是一款在线的作图工具,完全国产,前台是用HTML5  Canvas加javascript做绘图,后台用java实现数据处理和图片生成, 整站UI基本类似 ...

  2. 推荐一款Python神器,5 行 Python 代码 实现一键批量扣图

    今天给大家分享一款Python装逼实用神器. 在日常生活或者工作中,经常会遇到想将某张照片中的人物抠出来,然后拼接到其他图片上去.专业点的人可以使用 PhotoShop 的"魔棒" ...

  3. 推荐一款IDEA神器!一键查看Java字节码以及其他类信息

    由于后面要分享的一篇文章中用到了这篇文章要推荐的一个插件,所以这里分享一下.非常实用!你会爱上它的! 开始推荐 IDEA 字节码查看神器之前,先来回顾一下 Java 字节码是啥. 何为 Java 字节 ...

  4. 推荐三款 Mac 上的理财神器 iCompta、Rublik、UctoX

    今天推荐三款理财神器,像个人的话可以使用 iCompta(个人财务管理)一款软件就好了,但有些朋友可能有关注汇率的需求,可以使用 Rublik(汇率动态),还有一些小伙伴可能有自己的公司等原因财务量较 ...

  5. 推荐一款最强Python自动化神器!不用写一行代码!

    搞过自动化测试的小伙伴,相信都知道,在Web自动化测试中,有一款自动化测试神器工具: selenium.结合标准的WebDriver API来编写Python自动化脚本,可以实现解放双手,让脚本代替人 ...

  6. 推荐一款最强Python自动化神器!再也不用写代码了!

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 搞过自动化测试的小伙伴,相信都知道,在Web自动化测试中,有一款自动化测试神器工具: seleniu ...

  7. 推荐一款全能测试开发神器:Mockoon!1分钟快速上手!

    1. 说一下背景 在日常开发或者测试工作中,经常会因为下游服务不可用或者不稳定时,通过工具或者技术手段去模拟一个HTTP Server,或者模拟所需要的接口数据. 这个时候,很多人脑海里,都会想到可以 ...

  8. 推荐一款接口 API 设计神器!

    今天栈长给大家推荐一款接口 API 设计神器,传说中的,牛逼哄洪的 Swagger,它到底是什么?今天为大家揭开谜底! Swagger是什么? 官网:https://swagger.io/ Swagg ...

  9. 推荐一款 MyBatis 开发神器,为简化而生!

    Java技术栈 )); MyBatis-Plus将会生成以下查询SQL: SELECT * FROM user WHERE age >= 18FROM user WHERE age >=  ...

  10. 推荐一款技术人必备的接口测试神器:Apifox

    1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色.当然除了Postma ...

随机推荐

  1. MySQL允许远程登录的授权方法

    泛授权方式 数据库本地直接登录上数据库: mysql -h localhost -u root 然后执行以下命令,授权完后直接就可以远程连接上.mysql>GRANT ALL PRIVILEGE ...

  2. 使用MySQL存储过程提高数据库效率和可维护性

    MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数.存储过程可以大幅提高数据库的性能.安全性和可维护性.本文将详细介绍MySQL存储过程的使用. ...

  3. SSM-Mybatis笔记

    目录 Mybatis-9.28 1.简介 1.1.什么是Mybatis 1.2.持久化 1.3.持久层 1.4 为什么需要Mybatis? 2.第一个Mybatis程序 2.1.搭建环境 2.2.创建 ...

  4. Centos7使用s3fs-fuse挂载minio对象存储实践

    Centos7使用s3fs-fuse挂载minio对象存储实践 事前准备 主机可以访问到对象存储API.例如minio默认的9000端口 主机安装好s3fs软件 已在minio上创建存储桶 安装s3f ...

  5. 给网站添加xml地图索引写法和应用

    使用php给网站添加xml地图索引写法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...

  6. Django-rest-framework框架——路由组件、认证权限频率

    @ 目录 一 路由Routers 1.1 使用方法 1.2 代码演示 1.2 视图集中附加action的声明 1.3 路由router形成URL的方式 认证权限频率 一 认证Authenticatio ...

  7. Vue2系列(lqz)——6-Vue-cli、7-Vue插件、8-Vue第三方框架之ElementUi

    文章目录 6 Vue-CLI 项目搭建 1 单文件组件 2 Vue-CLI 项目搭建 2.1 环境搭建 2.2 项目的创建 创建项目 启动/停止项目 打包项目 package.json中 2.3 认识 ...

  8. DHCP和PXE是怎么工作的

    dhcp(Dynamic Host Configuration Protocol):配置一段共享IP地址,为新上线的机器分配IP地址,回收下线机器的IP地址. 正常情况下主机(DHCP client) ...

  9. 算法学习笔记(3.1): ST算法

    ST表 在RMQ(区间最值)问题中,著名的ST算法就是倍增的产物.ST算法可以在 \(O(n \log n)\) 的时间复杂度能预处理后,以 \(O(1)\) 的复杂度在线回答区间 [l, r] 内的 ...

  10. 轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

    单机配置启动 Redis安装 下载地址:http://redis.io/download 安装步骤: 1: 安装gcc编译器:yum install gcc 2: 将下载好的redis‐5.0.3.t ...