AutoIT的一个常见使用场景-激活窗体模拟输入

AutoIT是一个类似于BASIC的的脚步语言,主要用模拟击键,鼠标操作来做GUI的自动化操作。几年前,做自动化测试的时候使用的比较多,很久不用都忘记了。这几天想使用一个工具来向设备重复发送命令,做压力测试。故重新拿出来。

一个大概的使用过程:

  1. 启动工具并使其激活显示在屏幕最前面

  2. 配置工具连接到设备

  3. 输入要发送的命令

  4. 验证命令回复

  5. 点击发送按钮

第二步,由于不同的工具可能配置的方法不一样,自动化配置可能较复杂,能够复用的可能性低。我们抛开这一步。第四步也不一定是必须的,也抛开这一步。整理出来的的代码如下:

#Include <GuiEdit.au3>
$winTitle = "Test Tool"
$InputClass = "Edit1"
$SendBtnClass = "Button1"
$winHandle = WinGetHandle($winTitle);
$i = 1
While($i > 0)
   WinActivate($winHandle)	; Step 1: Activate tool window
   
   Sleep(200)
   If(Mod($i, 2) = 0) Then
   ControlSetText($winHandle, "", $InputClass, "command1")	; Step 2: Input command
   Else
   ControlSetText($winHandle, "", $InputClass, "command2")	; Step 2: Input command
   EndIf
   
   Sleep(200)
   ControlClick($winHandle, "", $SendBtnClass)	; Step 3: Send to target
   
   $i = $i - 1
WEnd

通过设置$i可以让脚步执行任意次。

下一次使用的时候,直接就可以拷贝+修改。


求解:有些Windows应用重新启动后,控件的class会改变,导致脚本可能在有的时候不能用。个人还没有找到好的办法解决。


注:

代码中窗体的名字和控件的Class可以通过AutoIT自带的Window Info工具查看。

参考:

https://www.autoitscript.com/autoit3/docs/


你可能感兴趣的:(AutoIT的一个常见使用场景-激活窗体模拟输入)