autoit pro

xiaoxiao2021-02-28  71

写了个小程序,用来做压力测试;是加了UI的哦!

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3> #include <GuiComboBox.au3> #include <GuiButton.au3> #include <GuiEdit.au3> HotKeySet("{ESC}", "Terminate") ;$iRand = Random(0, 5, 1) Local $sFileOpenDialog1,$sFileOpenDialog2 Local $FactorToolName Local $CoordX = 1610, $CoordY = 285     ;Get Point By Line _Main() Func _Main()     Local $msg     Local $sMessage = "open"     $hWndWinD = GUICreate("Stress Test",500,200) ; will create a dialog box that when displayed is centered ;    GUISetState(@SW_SHOW) ; will display an empty dialog box     GUICtrlCreateLabel ( "exe Path", 30, 32,80, 20)     GUICtrlCreateLabel ( "file Path", 30,60,80,20 )     GUICtrlCreateLabel ( "factor tool", 30, 90,80, 20)     GUICtrlCreateLabel ( "operator", 30,120,80,20 )     $hWndEdit1 = GUICtrlCreateEdit("",150,32,300,20,$ES_AUTOHSCROLL)     $hWndEdit2 = GUICtrlCreateEdit("",150,60,300,20,$ES_AUTOHSCROLL)     $hWndCombo1 = GUICtrlCreateCombo("",150,90,200,20,$CBS_DROPDOWNLIST)         _GUICtrlComboBox_AddString($hWndCombo1, "Get Point By Line")         _GUICtrlComboBox_AddString($hWndCombo1, "Get Point By Circle")         _GUICtrlComboBox_AddString($hWndCombo1, "Get Point By Arc")         _GUICtrlComboBox_AddString($hWndCombo1, "Peak Line")         _GUICtrlComboBox_AddString($hWndCombo1, "Peak Circle")         _GUICtrlComboBox_AddString($hWndCombo1, "Peak Arc")         _GUICtrlComboBox_AddString($hWndCombo1, "Middle Line")         _GUICtrlComboBox_AddString($hWndCombo1, "MaxMinPoint By Circle")         _GUICtrlComboBox_AddString($hWndCombo1, "MaxMinPoint By Rect")         _GUICtrlComboBox_AddString($hWndCombo1, "MaxMinPoint By Arc")         _GUICtrlComboBox_AddString($hWndCombo1, "Get Line")         _GUICtrlComboBox_AddString($hWndCombo1, "Get Circle")         _GUICtrlComboBox_AddString($hWndCombo1, "Get Arc")         _GUICtrlComboBox_AddString($hWndCombo1, "ExtractContour")     $hWndCombo2 = GUICtrlCreateCombo("",150,120,200,20)     $hWndBtn1 = GUICtrlCreateButton ( "...", 455, 32,25, 20)     $hWndBtn2 = GUICtrlCreateButton ( "...", 455, 60,25, 20)     $hWndBtnOK = GUICtrlCreateButton ( "OK", 150, 160,25, 20)     $hWndBtnCancel = GUICtrlCreateButton ( "Cancel", 200,160,60,20 )     GUISetState(@SW_SHOW)     While 1         Switch GUIGetMsg()             Case $hWndBtn1                   $sFileOpenDialog1 = FileOpenDialog($sMessage, @WindowsDir & "\", "(*.exe)", $FD_FILEMUSTEXIST)                   GUICtrlSetData($hWndEdit1,$sFileOpenDialog1,' ')             Case $hWndBtn2                   $sFileOpenDialog2 = FileOpenDialog($sMessage, @WindowsDir & "\", "(IMAGE.bmp)",$FD_PATHMUSTEXIST )                   GUICtrlSetData($hWndEdit2,$sFileOpenDialog2)             Case $hWndCombo1                  Local $factorToolindex = _GUICtrlComboBox_GetCurSel($hWndCombo1)                   _GUICtrlComboBox_GetLBText($hWndCombo1,$factorToolindex,$FactorToolName)             Case $hWndBtnOK                   GUIDelete()                   BeginExecute()                 ; Exit             Case $hWndBtnCancel                  ExitLoop             Case $GUI_EVENT_CLOSE                  Exit         EndSwitch     WEnd EndFunc Func BeginExecute()    ConsoleWrite($FactorToolName& @CRLF)    Run($sFileOpenDialog1,"",@SW_SHOWMAXIMIZED)    WinWaitActive("[CLASS:Qt5QWindowIcon]")    Opt("MouseCoordMode", 1)    MouseClick("left",27,38)    Sleep(500)    Send("{DOWN 2}")    Sleep(500)    Send("{ENTER}")    Sleep(500)    WinWaitActive("Open Image")    Sleep(1000)    Local $hWnd = WinWait("Open Image", "", 10)    ControlSetText($hWnd, "", "Edit1", $sFileOpenDialog2)    ControlClick("Open Image","","Button1")    Sleep(500)    MouseClick("left",1692, 191)      ;page "insert"    Sleep(500)    While 1       Switch $FactorToolName          Case "Get Point By Line"             MouseClick("left",$CoordX, $CoordY)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Get Point By Circle"             MouseClick("left",$CoordX+100, $CoordY)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1025,468)          Case "Get Point By Arc"             MouseClick("left",$CoordX+200, $CoordY)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,949,554,956,576)          Case "Peak Line"             MouseClick("left",$CoordX, $CoordY+100)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Peak Circle"             MouseClick("left",$CoordX+100, $CoordY+100)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1025,468)          Case "Peak Arc"                                              ;;;修改座标到此处             MouseClick("left",$CoordX+200, $CoordY+100)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Middle Line"             MouseClick("left",$CoordX, $CoordY+200)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "MaxMinPoint By Circle"             MouseClick("left",$CoordX+100, $CoordY+200)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "MaxMinPoint By Rect"             MouseClick("left",$CoordX+200, $CoordY+200)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "MaxMinPoint By Arc"             MouseClick("left",$CoordX, $CoordY+300)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Get Line"             MouseClick("left",$CoordX+100, $CoordY+300)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Get Circle"            MouseClick("left",$CoordX+200, $CoordY+300)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "Get Arc"             MouseClick("left",$CoordX, $CoordY+400)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case "ExtractContour"             MouseClick("left",$Coord+100, $CoordY+400)             Sleep(500)             MouseClickDrag($MOUSE_CLICK_LEFT,954,592,1107,545)          Case Else             Exit       EndSwitch       Sleep(500)       MouseClick("left",1717, 960)        ;"OK" button       Sleep(500)       MouseClick("left",1644, 992)        ;"Execute" button       Sleep(500)    WEnd EndFunc Func Terminate()     Exit EndFunc
转载请注明原文地址: https://www.6miu.com/read-68571.html

最新回复(0)