可以应用AutoIT开发出界面,从而把AutoIT对GUI的自动化测试与Watir对web的自动化测结合在一起。
以下代码是我学习GUI界面开发的实例代码。
1. 当点击Watir_Test_Button,就会打开IE 浏览器,到达百度页面;
2. 当点击GUI_Automation_Test,就会打开notepad,并在其中输入一些文字。

#include <GuiConstantsEx.au3>
#include <AVIConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <TreeViewConstants.au3> ; Window, Pic, Label, Lable background color
GUICreate("Sample GUI", , )
;GUICtrlCreatePic("C:\Users\chenpassion\Desktop\Beauty\wesley1.png", , , , )
;GuiCtrlSetState(-,$GUI_DISABLE)
GUICtrlCreateLabel("Beauty Pic", , , , )
GUICtrlSetBkColor(-, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-, 0xFFFFFF) ; Set Title Icon
GUISetIcon("D:\Thunder Network\Thunder\Program\XmpIcon\mov.ico")
$filemenu = GUICtrlCreateMenu("&File")
$openitem = GUICtrlCreateMenuItem("Open", $filemenu)
GUICtrlSetState(-, $GUI_DEFBUTTON)
$helpmenu = GUICtrlCreateMenu("?")
GUISetHelp("NOTEPAD.EXE") ;Set Menu, MenuItem
$saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
$exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
GUICtrlSetState(-, $GUI_CHECKED)
$recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, )
$recentfilesmenuchild = GUICtrlCreateMenuItem("C:\\Program", $recentfilesmenu)
$recentfilesmenuchild = GUICtrlCreateMenuItem("D:\\Program", $recentfilesmenu)
$separator1 = GUICtrlCreateMenuItem("", $filemenu, )
$viewmenu = GUICtrlCreateMenu("View", -, )
$viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
GUICtrlSetState(-, $GUI_CHECKED) ;Create button
$okbutton = GUICtrlCreateButton("OK", , , , )
GUICtrlSetState(-, $GUI_FOCUS)
$cancelbutton = GUICtrlCreateButton("Cancel", , , , )
;GUICtrlSetState(-, $GUI_FOCUS) $cancelbutton2 = GUICtrlCreateButton("Cancel2", , , , ) ;Create Context Menu
$buttoncontext = GUICtrlCreateContextMenu($okbutton)
$buttonitem1 = GUICtrlCreateMenuItem("About button 1", $buttoncontext)
$buttonitem2 = GUICtrlCreateMenuItem("About button 2", $buttoncontext)
$Cancelcontext = GUICtrlCreateContextMenu($cancelbutton)
$buttonitem3 = GUICtrlCreateMenuItem("About Cancel Button", $Cancelcontext) ;Create AVI
$ani1 = GUICtrlCreateAvi(@SystemDir & "\shell32.dll", , , )
GUICtrlSetBkColor(-, 0x00ff00)
$buttonstart = GUICtrlCreateButton("start", , , , )
$buttonstop = GUICtrlCreateButton("stop", , , , ) ;Tab test
$child1_tab = GUICtrlCreateTab(, , , )
$child1_tabitem1 = GUICtrlCreateTabItem("Child1Tab1")
$child1_tabitem2 = GUICtrlCreateTabItem("Child1Tab2")
$buttonTab = GUICtrlCreateButton("OK2", , , , )
;GUICtrlSetState(-, $GUI_SHOW)
;GUISetState(@SW_SHOW)
$child1_tabitem3 = GUICtrlCreateTabItem("")
GUICtrlSetState(-, $GUI_SHOW) ;Combo, setfont, GUICtrlSetFont
$font = "Comic Sans MS"
$fontlabel = GUICtrlCreateLabel("Combo Test: ", , , , )
GUICtrlSetFont($fontlabel,, , , $FONT)
GUICtrlSetBkColor(-, $GUI_BKCOLOR_TRANSPARENT)
$comboFont = GUICtrlCreateCombo("", , , , , $CBS_DROPDOWNLIST)
GUICtrlSetFont($comboFont,, , +, $font)
GUICtrlSetData($comboFont, "Sample Combo|Item2|Item3", "Item3") ; PROGRESS
$progress_bar = GUICtrlCreateProgress(, , , )
GUICtrlCreateLabel("Progress:", , )
GUICtrlSetBkColor(-, $GUI_BKCOLOR_TRANSPARENT) ; EDIT
GUICtrlCreateEdit("Type your Name here: ", , , , , BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL)) ; LIST
GUICtrlCreateList("", , , , )
GUICtrlSetData(-, "A.Sample|B.List|C.Control|D.Here", "D.Here") ;Create Icon
GUICtrlCreateIcon("explorer.exe", , , )
GUICtrlCreateLabel("Icon", , , , ) ;Listview
$listview = GUICtrlCreateListView("col1 |col2|col3 ", , , , );,$LVS_SORTDESCENDING)
$button = GUICtrlCreateButton("Value?", , , , )
$item1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
$item2 = GUICtrlCreateListViewItem("item1|col12|col13", $listview)
$item3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview) $Watir_Test_button = GUICtrlCreateButton("Watir_Test_Button", , , , )
$GUI_Automation_Test = GUICtrlCreateButton("GUI_Automation_Test", , , , ) GUICtrlCreateInput("Hello", , , )
GUICtrlSetState(-, $GUI_DROPACCEPTED) ; to allow drag and dropping
GUICtrlSetData($item2, "ITEM1")
GUICtrlSetData($item3, "||COL33") ; TREEVIEW TWO
Local $iTreeView_2 = GUICtrlCreateTreeView(, , , , $TVS_DISABLEDRAGDROP)
GUICtrlCreateTreeViewItem("TreeView", $iTreeView_2)
GUICtrlCreateTreeViewItem("With", $iTreeView_2)
GUICtrlCreateTreeViewItem("$TVS_CHECKBOXES", $iTreeView_2)
GUICtrlSetState(-, $GUI_CHECKED)
GUICtrlCreateTreeViewItem("Style", $iTreeView_2) GUISetState()
While
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $buttonstart
GUICtrlSetState($ani1, )
Case $msg = $buttonstop
GUICtrlSetState($ani1, )
Case $msg = $buttonTab
GUICtrlSetState($child1_tabitem1, $GUI_SHOW)
Case $msg = $child1_tabitem1
GUICtrlSetState($buttonTab, $GUI_HIDE)
Case $msg = $child1_tabitem2
GUICtrlSetState($buttonTab, $GUI_SHOW)
Case $msg = $okbutton
$lable3 = GUICtrlCreateLabel("", , , , )
GUICtrlSetColor($lable3, $GUI_BKCOLOR_TRANSPARENT)
$i =
While($i < )
GUICtrlSetData($progress_bar, $i)
$i += 0.01
GUICtrlSetData($lable3, GUICtrlRead($progress_bar))
WEnd
case $msg = $cancelbutton
GUICtrlSetData($item2, "||COL"&Random(,,))
Case $msg = $Watir_Test_button
run("D:\Ruby193\bin\ruby.exe C:\Users\chenpassion\Desktop\abc.rb")
Case $msg = $GUI_Automation_Test
Run("notepad.exe")
WinWait("[CLASS:Notepad]")
$winhandle = WinGetHandle("[class:Notepad]")
ConsoleWrite($winhandle & @LF)
$handle = ControlGetHandle($winhandle,"","Edit1")
ConsoleWrite($handle & @LF)
ControlSetText($winhandle,"",$handle,"GUI automation is going on")
EndSelect
WEnd

AutoIT: 开发界面结合GUI automation和Watir Automation的更多相关文章

  1. Python+AutoIt实现界面工具开发

    前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有悖于在windows上使用的操作习惯,往往不容易推广 ...

  2. AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】

    转自:https://blog.csdn.net/absurd/article/details/80958279 AWTK = Toolkit AnyWhere AWTK是吸取了FTK和CanTK的精 ...

  3. Unity iOS混合开发界面切换思路

    Unity iOS混合开发界面切换思路 最近有很多博友QQ 私信 或则 留言联系我,请教iOS和Unity界面之前相互切换的问题,源代码就不私下发你们了,界面跳转功能的代码我直接贴到下面好了,顺带说i ...

  4. JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件

    JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...

  5. Lakeshore 中文开发界面,示例项目,飞机大战 等 Lakeshore Chinese development interface, sample project, aircraft war, etc

    Lakeshore 中文开发界面,示例项目,飞机大战 等 Lakeshore Chinese development interface, sample project, aircraft war, ...

  6. 使用xib开发界面

    使用xib开发界面 2015-02-02 10:03 编辑: suiling 分类:iOS开发 来源:jymn_chen‘s blog   纯代码写界面有时候会降低开发效率,对于一些通用简单的界面,例 ...

  7. python图形界面(GUI)设计

    不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  8. IOS 使用Interface Builder开发界面入门与技巧

    引言: 通过Interface Builder(简称IB)来制作界面一直是iOS开发界饱受争议的方式.主要争议的话题是不太适合团队协作开发,再就是对IB的使用比较生疏,觉得IB只能完成一些很简单的功能 ...

  9. 几款开源的图形界面库(GUI Libraries)

    SmartWin++ 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows ...

随机推荐

  1. Genymotion 常见问题Unable to configure the network adapter for the virtual device解决

    Genymotion 常见问题Unable to configure the network adapter for the virtual device解决 参考:http://www.pczhis ...

  2. windows环境下SVN服务器限制注释字数

    1.)打开版本库的D:\SVN版本库\otpv3\hooks, 2.)然后新建一个文件pre-commit.bat.(该目录下有模板文件:pre-commit.impl,你要是感兴趣可以详细看看). ...

  3. 单源最短路径 Bellman_ford 和 dijkstra

    首先两个算法都是常用于 求单源最短路径 关键部分就在于松弛操作 实际上就是dp的感觉 if (dist[e.to] > dist[v] + e.cost) { dist[e.to] = dist ...

  4. Error:Uninitialized object exists on backward branch 70 Exception Details:

    网上下载了一个demo,编译出现如下错误: Gradle sync failed: Uninitialized object exists on backward branch 70 Exceptio ...

  5. codeforces 873E(枚举+rmq)

    题意 有n(n<=3000)个人参与acm比赛,每个人都有一个解题数,现在要决定拿金牌的人数cnt1,拿银牌的人数cnt2,拿铜牌的人数cnt3,各自对应一个解题数区间[d1,c1],[d2,c ...

  6. 2017CodeM复赛

    A.配对游戏(loj6191) 题目: https://loj.ac/problem/6191 分析: g[i][j]表示前i个位置尽可能合并,合并到最后右边剩下j个>,这样情况的概率 那么g[ ...

  7. Eclipse打war包方法以及Eclipse移植项目时JDK版本不匹配Project facet Java version 1.7 is not supported

    打包时: 在项目上右键选择Export,如图: 然后选择WAR file,如图所示.接着再:其中web projecct为打出来包的名字, Destination,打包后存的位置,点击Browse.. ...

  8. 微信接入登录功能access_token流程记录

    提示:只有认证过的订阅号或者服务号才能获取access_token. 1.app微信登录第一步是,app调起来微信客户端,通过app端的配置,引入一个微信类库, 2.授权成功后,微信会返回你一个cod ...

  9. nexus-3本地下载jar的settipng.xml配置

    打开maven安装目录下的setting.xml <servers> <server> <id>nexus</id> <username>a ...

  10. System表空间大小有10Gb,使用率达到95%,

    System表空间大小有10Gb,使用率达到95%,很好奇, 随后执行如下SQL,查看system表空间中使用空间最多的对象 SQL>SELECT * FROM DBA_SEGMENTS T W ...