① java自動化用autoit怎麼寫
隨著Web應用業務系統的普及和深化,業務系統的種類逐漸增多。操作流程也更加繁雜,日常操作任務顯著增加,繁雜的操作流程也非常容易出現紕漏。 那有沒有辦法改善這種狀況呢?回答是肯定的。藉助Web應用的自動化測試工具,我們可以完成自動操作任務,把那些程序化的操作交給計算機去完成。 在各種自動化測試工具中,Autoit3的學習成本是最低的,很適合沒有計算機專業知識的人使用,它可以完成各種軟體的自動化操作任務,在本系列經驗中我們只討論它的Web應用操作模塊。 工具/原料 Autoit3 AutoIt文檔 方法/步驟 下載Autoit3安裝包及文檔。 Autoit3的安裝包只包含一個標准可執行文件(autoit-v3-setup.exe)。 下載地址: 運行autoit-v3-setup.exe,單擊Next。 單擊IAgree。 單擊Next。 單擊Next。 選擇安裝路徑,單擊Install。 單擊Finish,完成安裝。 Autoit3的安裝過程非常簡單,至此就已經成功安裝完成了。 步驟閱讀
② autoit怎麼做自動化
ControlCommand ( 窗口標題, 窗口文本, 控制項ID, 命令 [, 選項] )
只能用於操作ToolbarWindow32類型的工具欄控制項,經過封裝的控制項是不行的。
控制項ID - 建議使用類別名,即(類名+Instance),如 ToolbarWindow321
命令 - 固定為SendCommandID
這里的選項就是要發送的CommandID - 可通過AutoIt窗口信息工具來識別,在「工具欄」標簽頁下可以查看命令ID。
一個示例如下:
ControlCommand($hWin, , ToolbarWindow321, SendCommandID, 28721)
其實,不一定用ControlCommand,UDF也可以的啊:
include lt;GuiToolbar.au3;
_GUICtrlToolbar_ClickButton()
_GUICtrlToolbar_ClickIndex()
_GUICtrlToolbar_CommandToIndex()
③ Autoit 定位到SysTreeView32控制項內容
問題解決了嗎?我就是用autoit做的程序,自動盯盤,自動網格買賣。還是不錯的
④ 用autoit編寫腳本
autoit是一種用以自動完成批量操作的程序語言,類似於VB或VBScript。
關於你提到的msgbox可以用到的代碼是sleep()函數可以實現。其實你說的程序完全可以用vbscript代碼來實現。
VBScript是一個功能強大的腳本語言,非常適合自動化處理。由於其可以聯合WMI和調用Dll文件(需要下載dynwrap.dll支持),基本可以解決現實中的許多問題。
關於autoit,你可以下載一本autoit的參考書。其實autoit和vbs很相似,只是autoit生成的是exe程序而已。按現在的電腦配置來看,執行速度和vbs差不多。
⑤ AutoIt 與 AutoHotkey 有何異同是選擇前者還是後者
我是先接觸AutoIt的,但時間還不算久。我看了一些介紹, AutoHotkey 是從AutoIt分支出來的,部分開發人員是原來AutoIt的開發人員,這兩者有許多方面非常相似,我也看了兩者的幫助,確實如此,目前我認為比較不一樣的就是AutoIt所用的語言類VB,而AutoHotkey 所用的語言類C++或JAVA。 實際上我比較熟悉的是C++和JAVA類語言,看上去簡潔容易理解,而且本人接觸C++語言有很長的時間,所以比如FLASH所用的AS語言,其它J腳本類的也很容易閱讀。而對於類VB的我看上去不是不能理解,而是比較吃力,所以我在先接觸AutoIt時感覺這語言比較雜亂,特別是endif這些比較羅嗦的語法比較討厭。既然是我比較不喜歡VB類,那為什麼我選擇了AutoIt呢?原因很簡單,本來只是想找一種編程工具寫個工具,但又不想用比較復雜的VC++編寫,因為使用VC++與MFC寫圖形界面我反而沒什麼接觸,所以想找一比較快速的腳本語言寫個圖形界面程序,結果找到的是AutoIt而不是AutoHotkey,所以就先用了幾天時間。因為AutoIt與AutoHotkey有根源,所以通過一些介紹關注了下AutoHotkey,知道非常相似。其實以前就有下載過這樣的編程工具,但看名字,可能只是針對寫游戲鍵盤滑鼠自動化用的吧!但現在看來,似乎不是那麼回事,原來看介紹還可以實現類似於AutoIt中我需要的功能,比如文件目錄操作,GUI等。 目前對閱讀VB類已經不成問題,已經能實現一些功能,現在開始做我的工具。但我的仍然不改我的印象,視覺上,代碼還是太亂了。 如果是這樣,不知道有沒有必要轉向類C++的AutoHotkey?畢竟我與某些評論的觀點一致,AutoIt比較失敗的就是使用了類VB的語言。
⑥ 使用autoit,能在web頁面上自動操作么
安裝ACN(autoit中文漢化增強版),基本就只能依靠 _IE 開頭的那些函數。 #include
⑦ autoit中文幫助
http://hi..com/msrighthomepage/blog/item/4d1cde120e60f2d7f6039e25.html
我在裡面做了詳細的介紹了,autoit中文版的軟體和中文教程都有了,自己去看吧。
⑧ AutoIt腳本與VB等編程語言比較起來,有什麼優勢和不足,哪位大師能夠指點一下。
AutoIt封裝了很多現成的函數,稱之為UDF(用戶自定義函數),用起來很方便,直接用就是了;最終可以編譯為exe執行,對運行環境也沒什麼太大要求。作為腳本語言,變數無需定義即可直接使用,對變數類型的要求也很松,編程方便性有很大優勢,上手快。
但在直接調用Windows API時不如VB方便,而且腳本語言一個不可避免的劣勢就是,代碼的執行效率慢,這種編譯也不是真正意義上的編譯,容易被反編譯。而且面向對象和多線程方面,autoit支持不好。
總之,任何一門語言要想鑽研深了都不是容易的事情,腳本語言足夠用來做一些常用的操作,但要想專業些,還得高級語言。
⑨ autoit語言
算是一種,是一種腳本語言。與bat差不多
讓PC自動完成一些操作。就是為「批量處理」而設計的。
前段時間我也在學,呵呵。與BASIC 語言風格的相似
下面摘自它的官方的說明:
AutoIt v3 是用以編寫並生成具有 BASIC 語言風格的腳本程序的免費軟體,它被設計用來在Windows GUI(用戶界面)中進行自動操作。通過它可以組合使用模擬鍵擊、滑鼠移動和窗口/控制項操作等來實現自動化任務,而這是其它語言所無法做到或尚無可靠方法實現的(比如VBScript和SendKeys)。
AutoIt 最初是為PC(個人電腦)的「批量處理」而設計,用於對數千台PC進行(同樣的)配置,不過隨著v3版本的到來它也很適合用於家庭自動化和編寫用以完成重復性任務的腳本。
AutoIt 可以做的事:
運行 Windows 及 DOS 下的可執行文件
模擬鍵擊動作(支持大多數的鍵盤布局)
模擬滑鼠移動和點擊動作。
對窗口進行移動、調整大小和其它操作。
直接與窗口的「控制項「交互(設置/獲取 文字、移動、關閉,等等)
配合剪貼板進行剪切/粘貼文本操作
對注冊表進行操作
不同於 AutoIt v2,新的v3版本含有更多的標准語法——類似於VBScript和BASIC——而且現在支持更復雜的表達式、用戶函數、循環以及腳本編寫老手們所期待的其它所有內容。
正如前一個版本一樣,AutoIt 被設計得盡可能小(大約115KB)並且不用依賴外部DLL文件或添加註冊表項目即可獨立運行。使用 Aut2Exe 這個工具即可把腳本文件編譯為可獨立運行的文件。
此外我們還更新了 AutoIt 的 ActiveX 和 DLL 版本——AutoItX,與v2版本不同的是,這是個組件化的語言(COM 同一DLL文件中的標准DLL函數)。AutoItX 將使得您可以加入一些AutoIt 獨有的特性到您最常用的腳本語言或程序設計語言中去!請查看 AutoItX 的幫助文檔(開始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以獲得更多信息和示例。
v3 具有完全不同於v2.64的語法,因此不能兼容舊的腳本。不過,v2.64仍舊受到支持並且可以下載。AutoIt v3 和 v2.64可以同時裝在同一台機器上而不會有任何問題,同時還可以保持舊腳本的完好。v2版本使用的是.aut後綴的擴展名,而v3版本使用的是.au3後綴的擴展名。因此不必為了適應v3版本而重寫v2.64版本的腳本。
v3 保持了前一版本中窗口標題、窗口文字、按鍵和滑鼠模擬這些概念,但同時也有了很多新的特性:
控制項
直接獲取編輯框、復選框、列表框、選擇框、按鈕、狀態欄上的信息,並且作用於這些控制項而不必擔心鍵擊動作落空。甚至還可以作用於非活動窗口上的控制項!
語言升級
「更適用的」數值類型、無限長度的字元串、混合語句、if 語句、條件選擇語句、while 循環語句、for 循環語句、do 循環語句、函數、數組、優秀的字元串處理(超過25個函數!)——其餘功能尚未列出。所有這些都使得製作自動化程序的過程不再痛苦。是的,這是個GUI自動化語言,但v3版的語法將更加強大,足以用來編寫一般用途的腳本。AutoIt 的舊版本總是被認為是「不太合適的語言」,現在將不再是這樣了。
模擬鍵擊和滑鼠動作
我們花了許多時間用在對鍵擊和滑鼠動作的模擬功能的優化上,使其在目前所有的操作系統上都可以做到盡可能的精確。在這一版本中滑鼠動作的功能也表現得更像「人類」了,甚至可以用來創建靈活的演示腳本。所有模擬滑鼠和鍵盤動作的程序在模擬動作的「速度」及其它功能上都是高度可定製的。
窗口操作
除了「標題/文字」這種v2版本已有的識別窗口的方法以外,現在還可以通過類別名和句柄來識別窗口。您可以對窗口進行移動、隱藏、顯示、調整大小、激活、關閉以及其它所有您想要實現的操作。
--------------------------------
因為是採用了VB的語法,所以下面我總結一下:
//---------------------------------------------------------------------
;第一個是Do while 循環
; Set the counter
$count = 1
; Execute the loop "until" the counter is greater than 5
Do
; Print the count
MsgBox(0, "AutoIt Example", "Count is: " & $count)
; Increase the count by one
$count = $count + 1
Until $count > 5
//---------------------------------------------------------------------
;第二個是for循環
; Execute the loop 5 times
For $count = 1 To 5
; Print the count
MsgBox(0, "AutoIt Example", "Count is: " & $count)
Next
; Set the counter
$count = 0
//---------------------------------------------------------------------
;第三個是while循環
; Execute the loop "While" the counter is less than 5
While $count < 5
; Increase the count by one
$count = $count + 1
; Print the count
MsgBox(0, "AutoIt Example", "Count is: " & $count)
Wend
//---------------------------------------------------------------------
;這兒是函數調用示例
; Run TestFunc1
TestFunc1()
; Run TestFunc2
TestFunc2(20)
;
MsgBox(0, "AutoIt Example", "Finished!")
Exit
; TestFunc1
Func TestFunc1()
MsgBox(0, "AutoIt Example", "Inside TestFunc1()")
EndFunc
; TestFunc2
Func TestFunc2($var)
MsgBox(0, "AutoIt Example", "Inside TestFunc2() - $var is: " & $var)
EndFunc
//---------------------------------------------------------------------
要是回答的內容有問題,或認為不妥,請發送網路消息給我,消息內容加上本頁網址哦。。
·
⑩ 如何使用AutoIT完成單機測試
1. 識別窗口的方法
編寫自動化腳本的時候,首先要解決的一個問題就是如何(在眾多窗口中)准確識別出目標窗口。一般來說,我們常把窗口的標題(Title)作為它的識別方法。但有時候只給出窗口標題還不夠,還要同時給出標題及文件(text)。要獲得某個窗口的標題是件很簡單的事情(大多數窗口直接就可以看到),可以使用AutoIt提供的窗口信息工具(AutoIt Window Info)抓取。大多數窗口的標題都是顯而易見的,例如系統自帶的記事本程序(notedad.exe),它的默認標題是「無標題-記事本」,如圖所示。窗口標題及其文本是大小寫敏感的,包括標點符號在內,我們必須確保它們是完全匹配的。
AutoIt的大部分窗口函數都有窗口標題和文本參數,比如說下面的WinWaitActive函數。這個函數的功能是使腳本暫停執行並一直等到指定窗口出現且激活為止。
1
WinWaitActive(「窗口標題",["窗口文本"],[超時時間])
其中,「窗口標題」是必須指定的參數,而"窗口文本"和"超時時間"都是可選參數。不過,也有些函數的窗口文本參數是必須指定的,如果想省略這個參數,只須指定空字元串("")作為參數即可。在參數窗口文本中指定一個空字元串甚至沒有值(NULL),相當於告訴AutoIt任何文本都是有效的。
下面以記事本窗口為例說明上面提到的函數的兩種用法:
1
2
3
WinWaitActive(「無標題-記事本")
或
WinWaitActive(「無標題-記事本","")
2. 窗口句柄
AutoIt中的變數可用來存儲窗口句柄(Windows Handles)。所謂窗口句柄是指Windows自動分配給每個新創建的窗口的特殊值。窗口句柄可用來代替窗口標題參數。使用窗口句柄來代替窗口標題的好處是能夠更加精確地識別窗口,例如,有時候我們會同時打開同一應用程序的多個副本,這些窗口具有完全相同的窗口標題和窗口文本,這時就可以利用窗口句柄的唯一性來准確地識別所指定的窗口。
很多函數如WinGetHandle、WinList和GUICreate都會返回窗口句柄,示例:
1
2
$handle=WinGetHandle(「無標題-記事本」)
WinClose($handle)
注意:不管當前的WinTitleMatchMode被設置為何種模式,窗口句柄始終可用。
3. 識別控制項的方法
AutoIt提供了直接操作控制項的功能。窗口上能看到的東西大多數都是以下控制項中的一種:按鈕、列表框、文本編輯框、靜態文本等。例如,系統自帶的記事本程序的主窗口也只是一個相對而言比較大的「編輯框(Edit)」控制項罷了。正因為AutoIt提供了直接對控制項操作的功能,我們再也不須要使用模擬鍵擊等低級的方法來操作窗口了,這使得實現對窗口操作的腳本更加可靠。
AutoIt主要支持標準的Microosft控制項。有些應用程序使用了大量的自定義控制項,很像是標準的MS控制項,但卻無法被腳本程序識別,就需要特別的辦法來解決。
在使用Control…()函數時,一些控制項描述必須提供ControlID。通過這些描述才能正確識別控制項。這些描述包括:
ID,內部控制項的ID;
TEXT,控制項文本,如"下一步"按鈕;
CLASS,內部控制項的類的名稱,如"Edit"或"Button";
INSTANCE,枚舉;
CLASSNN,類別名,如"Edit1";
以上的屬性可以單獨使用,也可以組合起來使用。具體使用哪一種屬性,主要依據個人喜歡及從AutoIt窗口信息工具所獲得的信息類型。一般而言,最好的方法就是使用控制項ID,但如果控制項ID無法獲得或靠控制項ID還不足以保證能識別目標控制項,那麼就須要使用其他的屬性,或者屬性的組合。
例如,發送文本到記事本的第1個Edit控制項:
1
ControlSend(「無標題-記事本」,"","[CLASS:Edit;INSTANCE:1]」,"這是一些文本")
或
1
ControlSend(「無標題-記事本","","[CLASSNN:Edit1]」,"這是一些文本")
或
1
ControlSend(「無標題-記事本","","Edit1」,"這是一些文本")
單擊「我的窗口」裡面的控制項,得到控制項ID 254,就可以直接使用ID:
1
ControlClick(「我的窗口","","[ID:254]")
或
1
ControlClick(「我的窗口","",254)
例如單擊第2個包含「完成」文本的按鈕,就使用組合方法:
1
ControlClick(「我的窗口","","[CLASS:Button;TEXT:」完成";INSTANCE:2]")
如果要獲得某個控制項的句柄可使用ControlGetHandle函數。控制項句柄是Windows賦予控制項的獨一無二的標識符,即每個被創建的控制項都具有不同的句柄。示例如下:
1
$handle=ControlGetHandle(「Untitled- Notepad」,"","Edit1")
4. 操作窗口和控制項
確定了窗口和控制項的識別方法之後,我們就可以使用AutoIt提供的函數來完成對窗口和控制項的操作。常用的函數如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
激活指定的窗口(設置焦點到該窗口,使其成為活動窗口)
WinActive("窗口標題"[,"窗口文本"])
關閉指定窗口
WinClose("窗口標題"[,"窗口文本"])
移動指定的窗口或調整窗口的大小
WinMove("窗口標題","窗口文本"],X坐標,Y坐標[,寬度,[,高度[,速度]]])
顯示、隱藏、最小化、最大化或還原某個窗口
WinSetState("窗口標題","窗口文本",標志)
向指定控制項發送滑鼠點擊命令:
ControlClick("窗口標題","窗口文本」,控制項ID[,按鍵[,點擊次數[,X坐標[,Y坐標]]]])
向指定控制項發送命令:
ControlCommand("窗口標題","窗口文本",控制項ID,"命令"[,"選項"])
設置輸入焦點到指定窗口的某個控制項上:
ControlFocus("窗口標題","窗口文本",控制項ID)
向指定的控制項發送字元串:
ControlSend("窗口標題","窗口文本",控制項ID,"字元串"[,標志])
修改指定控制項的文本:
ControlSetText("窗口標題","窗口文本",控制項ID,"新文本",標志)
向激活窗口發送模擬鍵擊操作:
Send("按鍵"[,標志])
執行滑鼠點擊操作:
MouseClick("按鈕"[,X坐標,Y坐標[,點擊次數[,速度]]])
執行滑鼠拖拽操作:
MouseClickDrag("按鈕",X1坐標,Y1坐標,X2坐標,Y2坐標[,速度])
5.驗證
在完成測試用例的操作步驟之後,黑盒測試方法主要是通過檢查和比較軟體的輸出結果(包括界面、文件、數據等)來驗證測試的結果,判斷軟體是否存在缺陷。軟體界面的檢查主要是檢查軟體窗口和控制項的各種狀態、標題、文本和圖片等信息,並將檢查結果寫入最終的測試報告中,以供分析。
5.1 驗證窗口、控制項狀態常用的方法
1
2
3
4
5
6
7
8
9
10
獲取窗口控制項的坐標位置和大小等:
WinGetPos("窗口標題"[,"窗口文本"]) ;用於窗口
ControlGetPos("窗口標題","窗口文本",控制項ID) ;用於控制項
獲取窗口控制項的狀態(包括是否可見、是否激活、最大化、最小化等):
WinGetSate("窗口標題"[,"窗口文本"]) ;用於窗口
ControlCommand("窗口標題","窗口文本",控制項ID,選項) ;用於控制項
檢查窗口是否存在
WinExists("窗口標題"[,」窗口文本」])
5.2 驗證窗口、控制項文本常用的方法
1
2
3
4
5
6
7
8
獲取窗口的完整標題名:
WinGetTitle("窗口標題"[,"窗口文本"])
獲取窗口中的文本:
WinGetText("窗口標題"[,"窗口文本"])
獲取控制項上的文本:
ControlGetText("窗口標題","窗口文本",控制項ID)
5.3 驗證圖片或顯示效果的常用的方法
AutoIt沒有提供圖像比較函數,須要自己開發相應的函數。如果不準備開發這方面的功能,就只有將要檢查的圖像或效果用截屏的方法保存下來,並附在測試報告中,讓測試人員事後人工分析。
截取整個屏幕或指定區域:
1
2
3
4
5
_ScreenCapture_Capture("C:\Image1.jpg")
或
_ScreenCapture_Capture("C:\Image1.jpg",0,0,796,596)
或
_ScreenCapture_CaptureWnd("C:\Image1.jpg",窗口句柄)
事例:
1
2
3
4
#include <ScreenCapture.au3>
;用來保存圖像的路徑和文件名
$file="c:\ScreenCapture"&@MON & @MDAY & @HOUR & @MIN & @SEC&" .jpg"
_ScreenCapture_Capture($file);並保存到文件中
5.4 驗證文件常用的方法
1
2
3
4
5
6
7
8
檢查文件是否存在:
FileExists("路徑")
獲取文件大小:
FileGetSize("路徑")
獲取文件基本屬性(包括只讀,隱藏等):
FileGetAttrib("路徑")
5.5 其他驗證
1
2
3
4
5
返回當前滑鼠指針形狀的ID:
MouseGetCursor()
獲取當前滑鼠的坐標位置:
MouseGetPos([dimension])
6. 實例
下面這個腳本實例演示了如何打開計算器、找到計算器窗口、操作計算器完成「1+2」的計算和驗證,並將檢查的結果寫入測試報告中。
腳本如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Run("calc.exe")
WinWaitActive("計算器")
ControlClick("計算器","","1")
ControlClick("計算器","","+")
ControlClick("計算器","","2")
ControlClick("計算器","","=")
$Result=ControlGetText("計算器","",403)
if $Result=="3. " Then
FileWriteLine("C:\result.txt","正確:和期望結果3一致")
Else
FileWriteLine("C:\result.txt","錯誤:和期望結果3不一致,實際結果結果為"&$Result)
EndIf
WinClose("計算器")
