自动化神器Autolt,让你不再重复工作!

news2025/1/18 9:03:13

 

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

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

  1. Run("setup.exe")

  2. WinWaitActive("Setup")

  3. Send("{ENTER}")

  4. WinWaitActive("License Agreement")

  5. Send("!a")

  6. Send("{ENTER}")

  7. WinWaitActive("Select Destination Location")

  8. Send("{ENTER}")

  9. WinWaitActive("Select Additional Tasks")

  10. Send("{ENTER}")

  11. WinWaitActive("Ready to Install")

  12. Send("{ENTER}")

  13. WinWaitActive("Installation Complete")

  14. Send("{ENTER}")

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

  1. Run("notepad.exe")

  2. WinWaitActive("Untitled - Notepad")

  3. Send("This is a test.")

  4. Send("{ENTER}")

  5. WinWaitActive("Save As")

  6. Send("test.txt")

  7. Send("{ENTER}")

  8. WinWaitActive("Notepad")

  9. Send("!f")

  10. Send("x")

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

  1. #include <Excel.au3>

  2. Local $oExcel = _Excel_Open()

  3. Local $oWorkbook = _Excel_BookNew($oExcel)

  4. _Excel_RangeWrite($oWorkbook, Default, "A1")

  5. _Excel_RangeWrite($oWorkbook, Default, "B1")

  6. _Excel_RangeWrite($oWorkbook, Default, "C1")

  7. _Excel_RangeWrite($oWorkbook, Default, "A2", "http://www.example.com")

  8. _Excel_RangeWrite($oWorkbook, Default, "B2", "Example")

  9. _Excel_RangeWrite($oWorkbook, Default, "C2", "12345")

  10. _Excel_SaveAs($oWorkbook, "example.xlsx")

  11. _Excel_Close($oExcel)

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

  1. FileCopy("C:\Users\user\Desktop\example.txt", "C:\Users\user\Documents\backup\example.txt")

  2. DirRemove("C:\Windows\Temp", 1)

  3. Sleep(60000)

  4. Run("C:\Users\user\Desktop\example.exe")

7、将au3转换为exe

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

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

4、小结

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++中的complex

在 C 中&#xff0c;std::complex 是一个模板类&#xff0c;用于表示和操作复数。这个类是标准模板库&#xff08;STL&#xff09;的一部分&#xff0c;包含在 头文件中。std::complex 提供了一套丰富的功能&#xff0c;包括基本的算术运算、比较运算、数学函数等&#xff0c;使…

大语言模型LLM原理篇

大模型席卷全球&#xff0c;彷佛得模型者得天下。对于IT行业来说&#xff0c;以后可能没有各种软件了&#xff0c;只有各种各样的智体&#xff08;Agent&#xff09;调用各种各样的API。在这种大势下&#xff0c;笔者也阅读了很多大模型相关的资料&#xff0c;和很多新手一样&a…

苹果 iPhone 15 Pro Max 称霸:智能手机市场势不可挡

苹果 iPhone 15 Pro Max 称霸&#xff1a;智能手机市场势不可挡 概述 在拥挤且竞争激烈的智能手机市场中&#xff0c;苹果的 iPhone 15 Pro Max 成为明显的赢家&#xff0c;在 2024 年第一季度最畅销智能手机排行榜上名列前茅。根据 Counterpoint Research 的数据&#xff0c…

css: 动态设置网格线

参考这个博客做了网格线&#xff1a; http://t.csdnimg.cn/y20vM 把网格颜色&#xff0c;宽高和透明度做成可配置项。 <e-collapse title"网格线" :expand"false"><t-form-item label"颜色"><el-color-picker v-model"fo…

vue2+Ts中openLayer绘图工具组件封装

vue2Ts中openLayer绘图工具组件封装 效果&#xff1a; 封装组件代码&#xff1a; <!-- openLayer绘图工具 --> <template><a-button-group v-show"isShow"><a-button v-if"shouldShowButton(point)" click"draw(Point)"…

Axure10_win安装教程(安装、汉化、授权码,去弹窗)

1.下载Axure10 链接&#xff1a;https://pan.baidu.com/s/1fc8Bgyic8Ct__1IOv-afUg 提取码&#xff1a;9qew 2.安装Axure10 因为我的电脑是Windows操作系统&#xff0c;所以我下载的AxureRP-Setup-Beta v10.0.0.3816 (Win).exe 一直点下一步就行 3.Axure10中文 打开Axure…

(python)cryptography-安全的加密

前言 cryptography 是一个广泛使用的 Python 加密库&#xff0c;提供了各种加密、哈希和签名算法的实现。它支持多种加密算法&#xff0c;如 AES、RSA、ECC 等&#xff0c;以及哈希函数&#xff08;如 SHA-256、SHA-384 等&#xff09;和数字签名算法(如 DSA、ECDSA 等). 目录 …

Linux下Code_Aster源码编译安装及使用

目录 软件介绍 基本依赖 其它依赖 一、源码下载 二、解压缩 三、编译安装 四、算例运行 软件介绍 Code_aster为法国电力集团&#xff08;EDF&#xff09;自1989年起开始研发的通用结构和热力耦合有限元仿真软件。Code_aster可用于力学、热学和声学等物理现象的仿真分析&…

诺基亚3210复古风再起:情怀与现实的碰撞

在数字科技日新月异的今天&#xff0c;诺基亚的复古风潮却意外地掀起了波澜。这款曾经风靡一时的诺基亚3210&#xff0c;在时隔二十五年后&#xff0c;以全新的面貌再次回归市场&#xff0c;引发了无数人的怀旧与好奇。 诺基亚的这次“千禧回归”策略&#xff0c;无疑是对Y2K潮…

Java——类和对象第二节——封装

1.什么是封装 封装是面向对象程序的三大特性之一&#xff0c;面向对象程序的三大特性分别是封装&#xff0c;继承&#xff0c;多态 而封装简单来说就是套壳隐藏细节 打个比方&#xff1a; 在一些电脑厂商生产电脑时&#xff0c;仅对用户提供开关机键&#xff0c;键盘输入&a…

鸿蒙布局Column/Row/Stack

鸿蒙布局Column/Row/Stack 简介我们以Column为例进行讲解1. Column({space: 10}) 这里的space: 10&#xff0c;表示Column里面每个元素之间的间距为102. width(100%)&#xff0c;height(100%) 表示宽高占比3. backgroundColor(0xffeeeeee) 设置背景颜色4. padding({top: 50}) 设…

基于Springboot+Vue的Java项目-农产品直卖平台系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

【docker】SpringBoot应用容器镜像日志挂载

启动镜像时候使用 -v 挂载 首先得在宿主机创建目录&#xff1a;/workspace/java/demo/logs mkdir -pv /workspace/java/demo/logs 启动镜像 docker run -p 8080:8080 -itd -v /workspace/java/demo/logs/:/logs/ 192.168.2.1:5000/demo:0.0.1-SNAPSHOT -v /workspace/ja…

VMware虚拟机没有网,无法设置网络为桥接状态

今天需要使用Ubuntu18但现有虚拟机是Ubuntu20&#xff0c;由于硬盘空间不够大&#xff0c;所以删除了原来的虚拟机并重新搭建Ubuntu18的环境&#xff0c;然后发现虚拟机没有网络&#xff0c;而我之前的虚拟机这一切都是正常的。 在网络设置里勾选的是桥接模式但无法联网&#x…

如何基于可靠事件模式实现最终一致性?

今天我们一起来探讨一个分布式环境下的常见问题,这个问题与数据的一致性有关。那么,什么是数据一致性呢?要回答这个问题,需要我们回顾一下单块系统和分布式系统中对于数据处理的不同需求。 我们知道,传统的单块系统通常都只与一个数据库进行交互,所有的数据处理过程都位于…

前端连续发送同一个请求时,终止上一次请求

场景&#xff1a;几个tab页之间快速的切换&#xff08;tab页只是参数不同&#xff0c;下边的数据渲染给同一个data&#xff09;就会导致如果我在1,2,3&#xff0c;tab页按照顺序快速点击&#xff0c;发送三个请求&#xff0c;我想要展示的是3但是如果1或者2请求响应的时间比3长…

广汽原车控制系统CAN协议控制汽车基本信息获取及数据应用

在现代汽车工业的迅速发展中&#xff0c;车辆控制系统的智能化和网络化已成为提升汽车性能的关键。广汽作为中国汽车行业的佼佼者&#xff0c;其在原车通信网络方面也取得了显著的成就。特别是广汽原车CAN&#xff08;Controller Area Network&#xff09;协议的应用&#xff0…

unordered_map、unordered_set底层封装

文章目录 一、先实现哈希桶1.1哈希桶的实现方法1.2日常普遍的哈希桶存放的数据有两种&#xff1a;字符串和整形1.3哈希桶的实现代码详解1.3.1哈希桶的两种仿函数&#xff08;int和string&#xff09;1.3.2哈希桶的节点&#xff08;如果桶非常深&#xff0c;这里考虑挂红黑树&am…

k8s 网络组件详细 介绍

目录 一 k8s 有哪些网络组件 二 k8s 网络概念 1&#xff0c; k8s 三种网络 2&#xff0c;K8S 中 Pod 网络通信 2.1 Pod 内容器与容器之间的通信 2.2 同一个 Node 内 Pod 之间的通信 2.3 不同 Node 上 Pod 之间的通信 三 Flannel 网络组件 1&#xff0c;Flannel …

leetcode.所有可能的路径(python)

找到从节点0到n-1的所有路径&#xff0c;肯定是用dfs算法&#xff0c;不过有两种思考方式&#xff1a; 一种是&#xff1a;从后往前考虑。如果这条路能到n-1节点&#xff0c;那么dfs返回一个rec列表&#xff0c;里面存路径。 class Solution:def allPathsSourceTarget(self, …