博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AutoIT: 开发界面结合GUI automation和Watir Automation
阅读量:4699 次
发布时间:2019-06-09

本文共 5763 字,大约阅读时间需要 19 分钟。

可以应用AutoIT开发出界面,从而把AutoIT对GUI的自动化测试与Watir对web的自动化测结合在一起。

以下代码是我学习GUI界面开发的实例代码。
1. 当点击Watir_Test_Button,就会打开IE 浏览器,到达百度页面;
2. 当点击GUI_Automation_Test,就会打开notepad,并在其中输入一些文字。

#include 
#include
#include
#include
#include
#include
#include
; Window, Pic, Label, Lable background colorGUICreate("Sample GUI", 800, 500);GUICtrlCreatePic("C:\Users\chenpassion\Desktop\Beauty\wesley1.png", 0, 0, 800, 500);GuiCtrlSetState(-1,$GUI_DISABLE)GUICtrlCreateLabel("Beauty Pic", 75, 1, 80, 50)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)GUICtrlSetColor(-1, 0xFFFFFF); Set Title IconGUISetIcon("D:\Thunder Network\Thunder\Program\XmpIcon\mov.ico")$filemenu = GUICtrlCreateMenu("&File")$openitem = GUICtrlCreateMenuItem("Open", $filemenu)GUICtrlSetState(-1, $GUI_DEFBUTTON)$helpmenu = GUICtrlCreateMenu("?")GUISetHelp("NOTEPAD.EXE");Set Menu, MenuItem$saveitem = GUICtrlCreateMenuItem("Save", $filemenu)$exititem = GUICtrlCreateMenuItem("Exit", $filemenu)GUICtrlSetState(-1, $GUI_CHECKED)$recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)$recentfilesmenuchild = GUICtrlCreateMenuItem("C:\\Program", $recentfilesmenu)$recentfilesmenuchild = GUICtrlCreateMenuItem("D:\\Program", $recentfilesmenu)$separator1 = GUICtrlCreateMenuItem("", $filemenu, 2)$viewmenu = GUICtrlCreateMenu("View", -1, 3)$viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)GUICtrlSetState(-1, $GUI_CHECKED);Create button$okbutton = GUICtrlCreateButton("OK", 20, 20, 70, 20)GUICtrlSetState(-1, $GUI_FOCUS)$cancelbutton = GUICtrlCreateButton("Cancel", 100, 20, 70, 20);GUICtrlSetState(-1, $GUI_FOCUS)$cancelbutton2 = GUICtrlCreateButton("Cancel2", 100, 40, 70, 20);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", 165, 20, 70)GUICtrlSetBkColor(-1, 0x00ff00)$buttonstart = GUICtrlCreateButton("start", 50, 140, 70, 22)$buttonstop = GUICtrlCreateButton("stop", 150, 140, 70, 22);Tab test$child1_tab = GUICtrlCreateTab(20, 230, 370, 215)$child1_tabitem1 = GUICtrlCreateTabItem("Child1Tab1")$child1_tabitem2 = GUICtrlCreateTabItem("Child1Tab2")$buttonTab = GUICtrlCreateButton("OK2", 20, 250, 50, 30);GUICtrlSetState(-1, $GUI_SHOW);GUISetState(@SW_SHOW)$child1_tabitem3 = GUICtrlCreateTabItem("")GUICtrlSetState(-1, $GUI_SHOW);Combo, setfont, GUICtrlSetFont$font = "Comic Sans MS"$fontlabel = GUICtrlCreateLabel("Combo Test: ", 160, 280, 120, 20)GUICtrlSetFont($fontlabel,10, 20, 2, $FONT)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)$comboFont = GUICtrlCreateCombo("", 250, 277, 120, 100, $CBS_DROPDOWNLIST)GUICtrlSetFont($comboFont,10, 20, 2+4, $font)GUICtrlSetData($comboFont, "Sample Combo|Item2|Item3", "Item3"); PROGRESS$progress_bar = GUICtrlCreateProgress(160, 320, 150, 20)GUICtrlCreateLabel("Progress:", 100, 322)GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT); EDITGUICtrlCreateEdit("Type your Name here: ", 300, 20, 200, 120, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL)); LISTGUICtrlCreateList("", 520, 20, 100, 90)GUICtrlSetData(-1, "A.Sample|B.List|C.Control|D.Here", "D.Here");Create IconGUICtrlCreateIcon("explorer.exe", 550, 175, 20)GUICtrlCreateLabel("Icon", 510, 175, 50, 20);Listview$listview = GUICtrlCreateListView("col1 |col2|col3 ", 520, 180, 200, 150);,$LVS_SORTDESCENDING)$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)$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", 150, 180, 120, 20)$GUI_Automation_Test = GUICtrlCreateButton("GUI_Automation_Test", 280, 180, 120, 20)GUICtrlCreateInput("Hello", 320, 400, 150)GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and droppingGUICtrlSetData($item2, "ITEM1")GUICtrlSetData($item3, "||COL33"); TREEVIEW TWOLocal $iTreeView_2 = GUICtrlCreateTreeView(520, 350, 130, 120, $TVS_DISABLEDRAGDROP)GUICtrlCreateTreeViewItem("TreeView", $iTreeView_2)GUICtrlCreateTreeViewItem("With", $iTreeView_2)GUICtrlCreateTreeViewItem("$TVS_CHECKBOXES", $iTreeView_2)GUICtrlSetState(-1, $GUI_CHECKED)GUICtrlCreateTreeViewItem("Style", $iTreeView_2)GUISetState()While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $buttonstart GUICtrlSetState($ani1, 1) Case $msg = $buttonstop GUICtrlSetState($ani1, 0) 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("0", 70, 322, 20, 20) GUICtrlSetColor($lable3, $GUI_BKCOLOR_TRANSPARENT) $i = 0 While($i < 99) GUICtrlSetData($progress_bar, $i) $i += 0.01 GUICtrlSetData($lable3, GUICtrlRead($progress_bar)) WEnd case $msg = $cancelbutton GUICtrlSetData($item2, "||COL"&Random(10,100,1)) 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") EndSelectWEnd

 

转载于:https://www.cnblogs.com/autotest/p/3262386.html

你可能感兴趣的文章
CF1208E Let Them Slide
查看>>
AT2000 Leftmost Ball
查看>>
CF1086E Beautiful Matrix
查看>>
在单位上班的25条建议(建议收藏)
查看>>
web前端--http协议
查看>>
idea选中文件时左侧菜单自动定位到文件所在位置
查看>>
idea导入eclipse项目并运行
查看>>
类加载器
查看>>
动态代理
查看>>
ajax和json
查看>>
Ant Build
查看>>
log4j笔记
查看>>
dubbo
查看>>
javaweb三大组件-servlet
查看>>
javaweb三大组件-监听器
查看>>
请求包含、请求转发、重定向的区别
查看>>
request和response总结
查看>>
Eclipse常用配置
查看>>
本地未安装Oracle数据库,如何连接远程Oracle数据库
查看>>
Idea使用SVN教程
查看>>