重温AutoIt

  • 好几年前出于利用现有GUI进行测试的目的,接触了AutoIt
  • 最近再次遇到相同的需求
    • 整合现有的GUI工具进行自动化操作
  • 对于支持console的工具,直接集成就好了
  • 对于GUI,由于其带有UI交互,需要利用其它工具自动化UI流程操作
  • 而这正是AutoIt的初衷(AutoIt最初的目的是为了能够自动化操作系统部署后的软件安装过程)


    autoit

steps

  • 根据GUI的过程确定后台自动化流程设计


    step1

    step2

    step3

    step4

    step5

    step5.1
一键自动下载
一键程序下载

工具要小而美,只做好一件事

附au3脚本


; [1]: app
; [2]: can device
; [3]: upd


Global $winName="MegaRobo_Update (01.06)"

; get app name
Local $appName= "D:\Program Files (x86)\MegaRobo\MegaUpdate_01.05\UpdateFile.exe"
Local $deviceName = "DEV_USBCAN2"
Local $updName="C:\Users\wangzhiyan\Desktop\Sinanju(SOFT)_04.00.01.23.upd"

if $CmdLine[0] >= 3 Then
   $appName=$cmdLine[1]
   $deviceName = $cmdLine[2]
   $updName=$cmdLine[3]
else

Endif

; start app
ShellExecute( $appName )
if ( 0 = WinWaitActive( $winName, "", 1 ) ) Then
   ConsoleWrite("No App")
   Exit
endif

; to update
ControlCommand($winName, "", "[NAME:tabControl1]", "TabRight","" )
if 0 = WinWaitActive( $winName, "Node1", 1 ) Then
   exitApp( "Fail page" )
   Exit
EndIf

; set device
ControlSetText( $winName, "","[CLASS:Edit; INSTANCE:3]", $deviceName )

; open
ControlClick( $winName, "", "[NAME:button_open]")

Local $openTxt
$openTxt = ControlGetText( $winName, "", "[NAME:button_open]" )
;ConsoleWrite($openTxt)
if $openTxt = "打开设备" Then
   exitApp( "Fail open" )
EndIf

; search
ControlClick( $winName, "", "[NAME:button_reseach]");

Local $deviceNum
$deviceNum = ControlGetText( $winName, "", "[NAME:textBox_node_number]" )
if ( $deviceNum <> 1 ) Then
   exitApp("No Device")
   Exit
EndIf

; set file name
ControlSetText( $winName,"","[NAME:textBox_update_file_can]", $updName)
Sleep( 1000 )

; program
ControlClick( $winName, "", "[NAME:button_start_can]")

if ( 0 == WinWaitActive( $winName, "升级完成!", 600 ) ) Then
      exitApp("Fail program")
EndIf

; completed
exitApp( "OK" )


Func exitApp( $str )
   ConsoleWrite($str)
   WinClose( $winName )
   Exit
EndFunc
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 本来只想做一个时而性情,时而矫情的情感博主,可是今天我想正经一点了。 之前写过一篇文叫做高考究竟带给了我们什么,其...
    微风清酒阅读 968评论 11 28
  • 这几天,我和父亲,还有三弟,一直在忙着填洞。工作很简单,石头坐灰,把洞填满。干活的时候,父亲在下面,我和三弟在上面...
    路雨飞飞阅读 428评论 0 0
  • 结束完计算机考试,我的寒假正式开始了。大概一两个月前我姐便拜托我寒假帮她照顾一下女儿,与四岁的小女孩的时光...
    小陈子ii阅读 183评论 0 0
  • 莫名其妙入坑 莫名其妙每天都要吸一吸 莫名其妙觉得自己逼格高起来 莫名其妙认为上微博是很蠢的一件事
    辞人屏阅读 146评论 0 0