+ 首页>>工具>>实用工具>>内容

工具测试人应该认识一下AutoHotkey500+次围观

测试人应该认识一下AutoHotkey
前段时间,我们介绍过AU3,今天我们要分享的是他的好哥们-AutoHotKey。我们试图通过这样一种好玩儿的工具分享来引起测试人对自动化工具的兴趣,无论是用”强大”还是用”伟大”来形容AutoHotKey和AU3都不为过,这两款工具为无数IT人带来了便捷。是他们让其工作更有效率。值得一提的是,在测试工作环节中,我们习惯地将”自动化”神坛化,却忽略了这些工具的推广和普及,作为一名极端实用主义布道者,我强烈呼吁测试人员学会使用他们,并善用他们。

一段来自论坛成员的介绍

前言:据我了解需要编写AutoHotkey/AutoIt脚本来实现自动化操作的用户很多都是网管,其它则可能是一些个人用户,他们一般都具有相当的技术水平,而且都希望能借助脚本来完成某些以往需要人工操作的重复​性劳动,但限于语言条件上的限制可能对官方的帮助文档有较难理解之处。为方便读者,我将从最简单的说起,每个示例尽可能同时给出相应的AHKAU3版本代码。本文将尽可​能用较通俗的语言描述,但并不打算讲解语法基础,所以不一定适合新手阅读。
文中涉及到的AHK/AU3版本:
AutoHotkey 1.0.44 .08
AutoIt 3.1.1

1、什么是脚本?
这是个非常“流行”的术语了,通俗而言脚本(Script)一般都是指根据某种语法规则编写的具有特定格式的文本文件。可能大家已经听说过很多种脚本:VBScript、​JScript、PHP、ASP、JSP、CGI、CS脚本,甚至游戏工具脚本。
这些脚本文件都是可执行文件,可执行相应的操作。
AHK 脚本文件扩展名:*.ahk
AU3 脚本文件扩展名:*.au3

2、脚本和程序的不同?
严格来说,所谓“程序”就是指以各种编程语言(比如说C/C++/C#/Delphi)编写、由编译器编译好后的二进制文件,一般就是机器代码,可由系统执行。而脚本则是只是些纯文本文件,包含了各种定义好的命令,这一点很像批处理文件。这样​,我们得出一个简单的结论,那就是用户一般无法获得“程序”的源代码,我们只能进行反汇编把它逆向还原为汇编语言代码(或其它),当然,也有些“程序”是可以获得源代码的​(比如Java);脚本则是用户可直接查看的代码 文件,而AHK/AU3则提供了把脚本文件“转换”成exe文件的方法。

3、脚本如何运行?
脚本是“解释性”的语言,它 的运行依赖一个“解释器”,由这个解释器来“翻译并解释”脚本的每条命令(或者说代码),然后执行相应操作。如果不严格定义的话,HTML和Java都可以认为是解释性语​言。AHK/AU3的主程序(分别是AutoHotkey.exe和AutoIt3.exe)就是它们的“解释器”,上面提到脚本可“转换”成可脱离相应的解释器而独立运行的exe可​执行文件,而我们还可以使用相应的工具把它们“还原”成脚本文件,由此我们完全可以这么理解:脚本代码是被 “压缩”到这个exe文件中,解释器也是在里面,在运行exe时实际上是先“解压”脚本代码然后运行解释器并解释该脚本。

4、如何创建脚本?
使用资源管理器的右键菜单即可创建相应脚本文件,或者新建一个文本文件后改扩展名即可。

5、稍微介绍一点语法规则?
A)对AHK而言,每个内建的功能都是以“命令”的形式提供:
Command, param1, param2,…
而AU3则以“函数”的形式提供:
Function(param1, param2, …)
命令或函数中被符号“[”和“]”围住的参数是可选参数,表示在使用这些命令或函数时可省略它们(不给出具体数值)。
若某个参数含有空格,则最好使用双引号围住该参数。
B)解释器自上而下(从第一行到最后一行)“解释”脚本的每行语句,除非遇到“Return”、“Goto”、“Gosub”、“Exit”等语句、函数、热键或其它能使​脚本“跳”到某个标识符的条件成立。
C)关键字和标识符(包括变量名、命令名、函数名等)都不区分大小写。

更多详情,可以参考一下这里

AHK和AU的区别,来自知乎的回答

autohotkey 和 autoit ,往往他们的用户都会试用另外一款,并最终确定使用其中一个。

autohotkey :
优点:热键支持更方便,语法更简单一点。有动作录制器(L 版没有,可用旧版,或下载第三方)。
缺点:需要另外下载编辑器,不然没有语法提示和高亮,对初学者不方便。

AutoIt :
优点:UDF函数多,很多你遇到的问题都有答案,较 AHK 容易写出功能更复杂,更强大的程序。
缺点:不如 AHK 简单。

更多关于AHK的资源

知乎专区 | 官网 | AH8论坛

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

Python/C/C++/Javascript程序员,持续学习者,目前专注于前端开发。

的专栏 | 专栏作者 | 访问小A的主页

+ 发表评论

开源中国精彩推送

基于开源中国OpenAPI开发
  • Copyright © 2014 DiggerPlus. 89 queries in 1.292 seconds.
    使用合作网站账号快速登录,更多精彩等着您: 开源中国