重温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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容

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