强!推荐一款自动化神器Autolt:不再重复工作

随着互联网不断发展,它给我们带来便利的同时,也带来了枯燥、重复、机械的重复工作。今天,我要和大家分享一款老牌实用的自动化工具: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吧!