自動腳本工作思路
首先看一下腳本的定義:
腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
接下來,我給你一些,自己對於腳本的理解:
腳本,按照功能簡單地說,就是一種可以解放你雙手和眼睛的軟體程序,腳本一般來說可以代替你眼睛和手,在電腦上的進行一些簡單的抄作,比如打開文件夾,點擊文件,找到你要找的東西,打開網頁等,這些是最簡單的,也是最表面話的東西。比如網游里的全自動做任務的程序,大部分就是腳本,也可以說是「外掛」或「輔助」,但有一點就是最簡單的沒有注入形式,就只是代替你的雙手和眼睛。其他比較深入的,在這就不做詳解,個人手打,也比較麻煩的啊。
給你推薦一款,腳本的編譯器,使用易語言編程(也叫做中文編程),叫按鍵精靈。你去下載看看,也可以學習裡面的編程知識,基礎的都有教,看完後,你也就懂~
手打很累哇~不懂問我。
⑵ 如何在一個文件被添加到文件夾中後自動運行一個腳本
這是可以辦到的。這要歸功於 WMI 事件的神奇功能,它使您可以編寫腳本來監視所關心的事情(比如:文件被添加到文件夾中),然後在發生此類事件時,採取特定的行動。我們沒有時間在本專欄里討論 WMI 事件,但是它們對於腳本編寫者來說,極其有用。因此,值得您花時間訪問該腳本故事 專欄。同時,這里有一個腳本可以監視 C:\Scripts 文件夾。只要有文件被添加到這個文件夾中,該腳本就會通過回顯新文件的名稱做出回應:strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\cimv2") Set colMonitoredEvents = objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _ & "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _ & "TargetInstance.GroupComponent= " _ & "'Win32_Directory.Name=""c:\\\\scripts""'") Do Set objLatestEvent = colMonitoredEvents.NextEvent Wscript.Echo objLatestEvent.TargetInstance.PartComponent Loop 這里所涉及的內容太多,我們無法詳細剖析該腳本,但是我們所要找的就是 __InstanceCreationEvent 類別的實例;只要計算機上創建了新的受控對象(即 WMI 所了解的對象),就會自動創建該類別的實例。雖然該查詢有些復雜,但可以簡單歸結為:只要有新的項目出現在 C:\Scripts 里,我們就想得到通知。(請注意,C:\\\\Scripts 不是列印錯誤;這里必須有四個斜杠。)我們還需要提一下,這類 WMI 腳本採用「輪詢」的工作方式;它將定期檢查是否有新的文件被添加到該文件夾中。在該示例中,我們每 10 秒檢查一次(就是 WITHIN 10 所表示的),來確定該文件夾中是否有新的文件。如果這一頻率過快或過慢,可以隨意更改該值。但是,請記住兩點。其一,如果輪詢地過於頻繁(比方說每秒執行一次),那麼腳本就會一直在運行,從而在理論上會耗盡系統資源。相反,如果將該值設置的過大,可能會錯過一些新文件,假設在輪詢時間到來之前這些文件就被添加並隨之被刪除。例如,假設您的腳本每 5 分鍾檢查一次新文件。如果您添加了 100 個新文件,並在 3 分鍾後將它們統統刪除,那麼該腳本將永遠無法知道那些文件曾被添加到該文件夾中。這是因為這類腳本的工作原理是:將文件夾中的當前文件與腳本最後一次檢查的文件夾中的文件進行比較。嘗試採用不同的輪詢時間間隔,看看哪個最合適。正如我們所注意到的,該腳本將回顯任何被添加到 C:\Scripts 的新文件的名稱。如果想在文件被添加到文件夾時做一些更有趣的事情,該怎麼辦呢?沒問題;只要使用您想在檢查到新文件時執行的代碼替換這行代碼就行了:Wscript.Echo objLatestEvent.TargetInstance.PartComponent順便說一下,您想在文件從 C:\Scripts 中刪除時得到通知嗎?
⑶ 按鍵精靈怎麼製作腳本
1.
製作腳本:按照個人需求從網上搜集腳本或者自己製作腳本。如果您的腳本是從別的地方收集的,請先把腳本文件拷貝到按鍵精靈文件夾下的script文件夾中,然後再運行按鍵精靈。
2.選擇有效的窗口:建議您選擇「對所有窗口有效」。如果您只需要腳本當某個窗口在前台時有效,請選擇窗口名稱,比如「龍族」
3.讓需要執行的腳本「有效」,只有「有效」一欄中勾中的腳本才會執行。
4.進入游戲(或者其他需要使用按鍵精靈的軟體)
,在需要使用腳本的時候按下腳本的「快捷鍵」,按鍵精靈就會忠實的為您工作了。
按鍵精靈主界面
圖:主界面及功能按鈕
主界面功能簡介:
增加:增加一個新的腳本。
修改:修改當前選中的腳本。
刪除:刪除當前選中的腳本,可以同時選中多個腳本進行刪除。
錄制:錄制新的腳本,新手製作腳本首選功能。
上傳:將當前腳本上傳至按鍵精靈網站,與他人進行交流。
全部有效/無效:讓所有腳本有效或者無效。
注冊:注冊按鍵精靈,使用正版軟體。
幫助:查看用戶幫助手冊。
圖:錄制功能
錄制功能簡介:
強烈推薦的功能!能夠忠實記錄您的動作,並在腳本執行時回放,新手也可隨心所欲製作腳本。按下ScrollLock鍵就可以開始錄制,再次按下就可停止錄制,最後保存即可。如果您需要按鍵精靈忠實的記錄滑鼠移動軌跡,在後面的「記錄滑鼠移動軌跡」前面打個勾就可以了。錄制過程中可以隨便移動錄制工具條,不會對您錄制的動作產生任何影響。
圖:上傳腳本
上傳腳本功能簡介:
在主界面選擇一個腳本,點擊「上傳」按鈕就可以進入上傳腳本界面。
您可以將自己比較得意的腳本上傳到我們的伺服器。在您的腳本上傳成功之後,我們將會進行人工審核。不錯的腳本都會被我們推薦給其他玩家共同學習。
上傳時按鍵精靈會自動填寫一些信息。請您在「腳本說明」里寫上腳本的用途、製作思路等你認為對其他人有幫助的信息。沒有說明或者說明不清楚的腳本將無法獲得推薦。:-)
腳本編輯器
圖:腳本編輯器界面
腳本編輯器使用說明:
在動作選擇區選擇動作,插入右邊的腳本內容區即可。腳本支持粘貼、復制、移動、刪除等操作。
腳本編寫完畢之後,在腳本設置區進行一些必要的設置,點擊「保存腳本」
,就可保存當前製作的腳本,點擊右上角的X符號可以關閉編輯器返回主界面。
注意:我們默認的終止熱鍵是「F12」
,目前所有的腳本使用同一個終止熱鍵,也就是按下一個終止熱鍵之後,所有的腳本就會停止運行。
圖:腳本調試功能
腳本調試功能簡介:
腳本調試功能允許您隨時觀察腳本的執行順序,也可以隨意暫停/繼續腳本的運行,方便查找腳本錯誤。當您點擊「執行」後,腳本將會開始執行,同時記錄下每一步執行了哪條動作(語句),您可以隨時按「暫停」熱鍵暫時中止腳本執行,然後點擊「語句編號」立刻查看,看完以後可以隨時讓腳本從中斷處恢復執行。
執行熱鍵:
ScrollLock
暫停熱鍵:Pause
停止熱鍵:ScrollLock
圖:
抓點界面
抓點功能簡介:
用戶可以抓取20個坐標點以及相應坐標點的顏色。抓點熱鍵包括數字鍵0到9,以及數字鍵下方的10個字母鍵Q到P。按下熱鍵即可獲得滑鼠當前所在位置的坐標和顏色,以備製作腳本時使用。
偏移抓點:當使用偏移抓點時,實際抓到的是滑鼠附近的一點的坐標和顏色(具體抓到的點用一個「瞄準鏡」表示)。這樣可以解決在某些情況下,滑鼠圖標顏色會擋住真實坐標顏色的問題。
⑷ 如何找到自動化測試的思路
要找到自動化測試的思路,首先得明確自動化測試的本質。對自動化測試的本質的理解不同,導致了在進行自動化測試過程中對於組建團隊、制定目標計劃等的不同,決定了最終自動化測試的實施和效果的不同。所以必須先把自動化測試的本質說明白。
談本質的問題,每個人的理解是不盡相同的。咱們這里說的自動化測試的本質,主要基於對 「人工被機械替代 」 的理解:隨著工業時代的開啟,「人工被機械替代」已成為很普遍的現象,運行著的機器,以成百上千倍於人工的效率在進行生產。如果測試能自動化,不也能節省大量人工嗎?這也是人們的直觀感受和期望。
但如果撇開直觀現象和感受,我們如何看「人工被機械替代 」 呢?
第一,能量。
粗略地從能量到角度看,人工過程是生物能量向動能轉化的過程。就測試而言,是食物轉化為腦力思考和手工測試的行動,再轉化為電腦執行的電能。
機械是化石能源向動能的轉化過程。就自動化測試而言,是化石能源和人的生物能(腦力思考)轉化電能,電能之間再進行轉化。
既然是能量轉化,那麼可以明確知道:1遵守能量的守恆定律,但實際的轉化過程存在能耗;2 熵(無序性)會增大,為了有序,必須有額外的能量。
所以從能量的角度來理解:1 能量要守恆,那麼人工測試與自動化測試所需要的能量是相當的,但能量的來源從生物能變成了一部分的化石能源或者電能,減少了人的生物能,所以人會輕松一些。但還是需要消耗生物能,人得設計自動化的工具,腳本。2 限於介質,能量不可能完全轉化;限於腦力,測試不可能能全自動化,總有無法自動化的。3為了維持自動化的有序進行,必須額外地投入其他能量,就像是維護測試工具、腳本、測試環境等日常工作。
第二,經驗。
能量之所以可以轉化,需要介質。而人工轉自動執行的重要介質是人的腦力。由人的腦力消耗到自動化的工具、腳本、測試場景等這些產出物是人的經驗的表達。所以自動化測試,可以看成是測試的經驗復制和積累的過程。
所以根據不同的復制積累的經驗不同,就可以產生不同的自動化測試。例如:
最常見的是積累手工測試人員的經驗。於是就產生了很多以錄制或模仿行為為基礎的自動化方案。例如功能自動化工具的selenium、qtp,安全測試中的埠掃描、sql注入、腳本注入等工具。這從根源上回答了為什麼脫離手工測試而開展的功能自動化測試都會失敗的原因。
接著是積累由機器交互行為產生的經驗。這必須藉助手工測試運行,來錄制或模仿機器間的通信過程。例如,常見的性能測試工具LR、jmeter。所以,從這個角度出發,就可以理解,性能測試人員一定要理解業務場景、系統交互流程、系統真實運行的場景。
再者是積累基於歷史的經驗。例如IBM的appscan家族的安全工具。通過積累各種web安全問題和變種,進行自動化的安全檢測;findbugs、fortify通過積累bug模式和規則進行源碼的自動掃描。
另外,就是根據自身業務特點進行的經驗積累。
比如,對於偏重流程的系統,像交易系統,OA系統,不同的數據會走不同的流程,限於測試人員的經驗范圍,現在需要積累客戶的經驗范圍進行自動化,就會需要把生產的數據下載到測試環境中,進行脫敏處理後、跑用戶的數據進行回歸測試,常被稱為業務模擬測試。
比如,對於偏重規則或模型的系統,像風控系統、搜索引擎,不同規則的設置有不同的觸發場景,不同的模型需要不同的基礎數據。自動生成這些基礎數據,營造場景的觸發條件,或者不同因子的積分或計數條件來匹配模型,計算模型效果等。
總的來說,自動化測試,不論功能、性能、安全等,都是能量轉化的過程、是經驗積累的過程。好的,這是一句廢話,但不可忽視。
以上說的不能告訴你具體自動化測試的思路,理解自動化測試過程中的所有問題。但世界就存在於你的概念之中,當你明確了你的自動化測試的本質了之後,才能把握解決個中問題的解決方向。
⑸ 自動化腳本運行失敗,怎麼處理
IBM? Rational? Functional Tester 是用於功能性和回歸線測試的高級測試自動化工具,它可以在一個基於圖形化用戶界面(GUI)的程序上錄制測試場景,並回放測試場景以實現測試自動化。在錄制期間,您可以插入確認點,這些確認點可以從您正在測試的程序中獲取特定的數據或者屬性。然後在回放期間,這些確認點用來將錄制的信息,與現場信息進行比較以確保穩定性。工具會搜索映射的對象,並在測試期間對其執行一系列的操作。但是,由於對象不存在或者不適當的狀態,Playback 特性通常會遇到一些失敗情況,在回放期間,如果 GUI 響應時間或者 GUI 到達預期狀態所花費的時間,要遠遠高於錄制時間,那麼工具所執行的操作就不能在適當的位置找到適當的對象或者它們的狀態或屬性了,這樣腳本回放就會失敗。通過按照本文中所介紹的步驟進行操作,您將會學到怎樣利用 Rational Functional Tester 程序編程界面(API),來改進腳本以實現基於 Eclipse 程序地可靠測試自動化。前提條件如果您擁有下述的知識,那麼您就能從本文中學到更多的信息:熟悉 Eclipse 環境以及為測試下程序配置 Rational Functional Tester熟悉錄制和回放測試腳本,並理解測試腳本的內容場景注意:對於這些範例,IBM? Rational? Software Architect(一種基於 Eclipse 的程序)用作測試下的程序。本文將會涉及到測試自動化中以下的失敗場景,並解釋在 Eclipse 工作區中遇到它們時的方案。場景 1:不匹配的 GUI 響應時間在回放期間,如果 GUI 響應時間要比錄制期間的時間長,那麼自動化工具將不會找到需要執行操作的對象,而測試腳本也將會失敗。場景 2:未預期的活動窗口如果在自動化測試的回放期間,出現了一個未預期的活動窗口,那麼在錄制期間該窗口將不會出現,自動化腳本將會失敗。自動化會因為未處理的窗口而停止。場景 3:不適當的對象狀態當您在創建確認點時,如果對象沒有處於它所預期的狀態,那麼它會獲取所有需要的具體內容。同樣,在回放期間,如果並不能確保相同的對象狀態,那麼確認點將會失敗。圖 1 中的圖表描述了處理這些場景的基本方法。圖 1. 方案的基本方法方案方法基本上可以改進使用 Rational Functional Tester API 的腳本。作出的選擇能夠處理描述的場景,該場景可能發生在測試自動化場景之中。創建 Eclipse:准備 Rational Functional Tester 以測試基於 Eclipse 的程序為了對基於 Eclipse 的程序使用 Rational Functional Tester 自動化測試特性,您必須首先按照下面的方法來創建測試的環境:點擊 Configure > Enable environment for testing 以打開 Enable Environments 窗口(參見圖 2)。選擇 Eclipse 實例,並點擊 Enable。如果 Eclipse 環境尚沒有列出,那您您可以點擊 Search。點擊 Finish 以保存您所做的修改。圖 2. 激活環境窗口修改代碼:根據用例來更改自動生成的代碼在這一步中,會獲得對自動生成代碼所做的更改,以處理前面所描述的一個或者多個失敗。每一個失敗場景的解決方案,都與下述描述的子部分不同。場景 1:不匹配的 GUI 響應時間對於該場景有兩個可能的解決方案:方案 1a. 檢查進度條的狀態當您在基於 Eclipse 的程序中創建一個項目時,項目構建和確認會在項目向導完成之後才啟動,其中基於 Eclipse 的程序例如 Rational Software Architect 或者 IBM? Rational? Application Developer。有時所花費的時間要比預期的長,腳本回放會失敗,因為項目構建沒有完成,但是腳本會試著進一步地操作。為了避免這種失敗情況的發生,您可以在 Eclipse 工作區右下角查看進度條的狀態修改代碼:根據用例來更改自動生成的代碼在這一步中,會獲得對自動生成代碼所做的更改,以處理前面所描述的一個或者多個失敗。每一個失敗場景的解決方案,都與下述描述的子部分不同。場景 1:不匹配的 GUI 響應時間對於該場景有兩個可能的解決方案:方案 1a. 檢查進度條的狀態當您在基於 Eclipse 的程序中創建一個項目時,項目構建和確認會在項目向導完成之後才啟動,其中基於 Eclipse 的程序例如 Rational Software Architect 或者 IBM? Rational? Application Developer。有時所花費的時間要比預期的長,腳本回放會失敗,因為項目構建沒有完成,但是腳本會試著進一步地操作。為了避免這種失敗情況的發生,您可以在 Eclipse 工作區右下角查看進度條的狀態
⑹ 按鍵精靈腳本製作請教
這種是商業類的了。exel的操作。按鍵精靈也可以做,全部命令-插件命令-
如果需要,可定製,練習企鵝二二八五九四八一四四
Linux中crontab是實現定時執行的指令,利用這個指令我們就可以定時執行某一個php文件,從而實現用PHP做Linux自動執行腳本。如何用PHP作Linux自動執行腳本?
在安裝PHP的時候,會產生一個可執行文件,文件名為php.將它 到 /usr/local/bin 下.在終端方式執行php程序:
php -q onlinnum.php
PHP 原本是應用在網頁應用的﹐因此它會送出 HTML 的HEADER﹐但是在此我們是要將 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思.你可以試試看不加上 -q 的顯示結果。此時你已經可以在終端方式下執行PHP 代碼了。 linux命令:cron daemon
這是一個系統中常駐的服務,功能在於執行例行性的工作,如每天一次或每月一 次檢查磁碟。cron daemon 會在每分鍾檢查一次排定的工作表(crontab),看看是否有要執行的指令,所有的輸出會以mail寄給用戶。
設置 crontab
命令:crontab -e
該命令呼叫vi編輯器來編輯執行的清單。例如
⑻ 啟動腳本是如何工作的
它在不同的系統上可能是完全不一樣的,所以不能認為一個腳本在某個 Linux 發行版上工作正常,於是在 LFS 中也會正常工作。LFS 有自己的一套規則,當然,LFS 也遵守一些公認的標准。
SysVinit(從現在開始我們稱之為"init")以運行級的模式來工作,一般有 7 個運行級(從 0 到 6,實際上可以有更多的運行級,但都是用於特殊情況而且一般使用不到。 參見 init(8) 以獲得更多信息),每個運行級對應於一套設定好的任務,當啟動一個運行級的時候,計算機就需要執行相應的任務。默認的運行級是 3,下面是對不同運行級的描述:
0: 停止計算機
1: 單用戶模式
2: 無網路多用戶模式
3: 有網路多用戶模式
4: 保留作自定義,否則同運行級 3
5: 同運行級 4,一般用於圖形界面(GUI)登錄(如 X 的
xdm 或者KDE 的 kdm)
6: 重新啟動計算機
用來改變運行級的命令是 init [runlevel] ,這里的 [runlevel] 是目標運行級。例如,要重啟計算機,用戶可以運行 init 6 命令,reboot 其實只是這個命令的別名,同樣,halt 命令也只是 init 0 的別名。
在/etc/rc.d 目錄下有一些類似於 rc?.d 的目錄(這里 ? 是運行級的數字)以及 rcsysinit.d ,裡面都包含許多符號鏈接,其中一些以 K 字母開頭,另外一些以 S 字母開頭,這些鏈接名在首字母後面都跟著兩個數字。K 字母的含義是停止(殺死)一個服務,S 字母的含義是啟動一個服務。而數字則確定這些腳本的啟動順序,從 00 到 99(數字越小執行的越早)。當 init 轉換到其它運行級時,一些相應的服務會停止,而另一些服務則會啟動。
真正的腳本則在 /etc/rc.d/init.d 目錄下,它們完成實際工作,符號鏈接都是指向它們的。停止腳本的鏈接和啟動腳本的鏈接都指向 /etc/rc.d/init.d 目錄下同一個腳本,這是因為調用這些腳本時可以使用不同的參數,例如 start, stop, restart, reload, status 當調用 K 鏈接時,相應的腳本用 stop 參數運行;當調用 S 鏈接時,相應的腳本用 start 參數運行。
以下是腳本參數的描述:start啟動服務stop停止服務restart
停止服務,然後再啟動reload
該服務的配置已更新。如果修改了某個服務的配置文件,又不必重啟這個服務的時候,可以使用這個參數。status
顯示服務的狀態,如果服務正在運行,會顯示該服務進程的 PID 。