『壹』 如何在java中執行shell腳本
1、最常用的方法:
Processp=Runtime.getRuntime().exec(SHELL_FILE_DIR+RUNNING_SHELL_FILE+
""+param1+""+param2+""+param3);
intrunnngStatus=p.waitFor();
2、通過ProcessBuilder進行調度,這種方法比較直觀,而且參數的設置也比較方便:
ProcessBuilderpb=newProcessBuilder("./"+RUNNING_SHELL_FILE,param1,
param2,param3);
pb.directory(newFile(SHELL_FILE_DIR));
intrunningStatus=0;
Strings=null;
try{
Processp=pb.start();
try{
runningStatus=p.waitFor();
}catch(InterruptedExceptione){
e.printStackTrace();
}
}catch(IOExceptione){
e.printStackTrace();
}
if(runningStatus!=0){
}
return;
參數說明:
RUNNING_SHELL_FILE:要運行的腳本
SHELL_FILE_DIR:要運行的腳本所在的目錄; 當然你也可以把要運行的腳本寫成全路徑。
runningStatus:運行狀態,0標識正常。 詳細可以看java文檔。
param1, param2, param3:可以在RUNNING_SHELL_FILE腳本中直接通過1,1,2,$3分別拿到的參數。
『貳』 JAVA中ant腳本是什麼東西
內容摘要:
ANT是一個基於Java的自動化腳本引擎,腳本格式為XML。除了做Java編譯相關任務外,ANT還可以通過插件實現很多應用的調用。
1)ANT的基本概念:
2)ANT的安裝:解包,設置路徑
3)ANT的使用:最好的學習只不過是一個簡單實用的例子起步……
ANT的基本概念:Java的Makefile
當一個代碼項目大了以後,每次重新編譯,打包,測試等都會變得非常復雜而且重復,因此c語言中有make腳本來幫助這些工作的批量完成。在Java中應用是平台無關性的,當然不會用平台相關的make腳本來完成這些批處理任務了,ANT本身就是這樣一個流程腳本引擎,用於自動化調用程序完成項目的編譯,打包,測試等。除了基於JAVA是平台無關的外,腳本的格式是基於XML的,比make腳本來說還要好維護一些。
每個ant腳本(預設叫build.xml)中設置了一系列任務(target):比如對於一個一般的項目可能需要有以下任務。
任務1:usage 列印本腳本的幫助信息(預設)
任務2:clean <-- init 清空初始化環境
任務3:javadoc <-- build <-- init 生成JAVADOC
任務4:jar <-- build <-- init 生成JAR
任務5:all <-- jar + javadoc <-- build <-- init 完成以上所有任務:jar javadoc
而多個任務之間往往又包含了一定了依賴關系:比如把整個應用打包任務(jar)的這個依賴於編譯任務(build),而編譯任務又依賴於整個環境初始化任務(init)等。
註:我看到很多項目的ant腳本中的命名基本上都是一致的,比如:編譯一般叫build或者compile;打包一般叫jar或war;生成文檔一般命名為javadoc或javadocs;執行全部任務all。在每個任務的中,ANT會根據配置調用一些外部應用並配以相應參數執行。雖然ANT可調用的外部應用種類非常豐富,但其實最常用的就2,3個:比如javac javadoc jar等。
ANT的安裝
解包後在系統可執行路徑中加入指向ant的bin的路徑就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
這樣執行ant 後,如果不指定配置文件ant會預設找build.xml這個配置文件,並根據配置文件執行任務,預設的任務設置可以指向最常用的任務,比如:build,或指向列印幫助信息:usage,告訴用戶有那些腳本選項可以使用。
ANT的使用
最好的學習過程就是看懂那些open source項目中的build.xml腳本,然後根據自己的需要簡化成一個更簡單的,ANT和APACHE上很多非常工程派的項目:簡單易用,而且適應性非常強,因為這些項目的建立往往來源於開發人員日常最直接的需求。
『叄』 sh腳本如何自動執行java程序,並且該腳本如何被定期調用
各位好我有一個問題,是這樣: 環境:有一套管理系統(包括聯機和批量),該管理系統白天運行聯機系統,晚上運行批量系統。 目的:聯機系統運行到晚上,會停掉,這時候通過在unix下的sh腳本調用並且啟動批量系統。 sh腳本可以調用java程序,通過java程序就可以啟動了批量系統。 andilyliao 寫道最簡單的方法 你可以用java寫一個job 然後每天晚上執行sh mginobili 寫道可以在腳本中 實現一個定時功能啊 比如每隔半小時 檢查一次當前的時間 如果到了晚上 就停止聯機系統,運行批量系統 當然前提是 這個sh腳本要一直保持運行狀態 並且其錯誤處理機制要完善問題補充:哦。你的意思是不是這樣啊, 這個sh腳本作為一個定時器,定時調用啟動聯機系統或者批量系統的程序。 通過while(1)這樣一個循環,一直運行不中斷,然後sleep一定時間,就調用聯機的啟動程序,再過一定時間,關閉聯機啟動批量系統。
『肆』 如何在java中使用sikuli進行自動化測試
sikuliIDE可以完成常見的單擊、右擊、移動到、拖動等滑鼠操作,java引用sikuli-script.jar同樣可以執行這些常見的滑鼠操作,因此即可方便的編寫java實現識別圖片並模擬點擊/拖動目標控制項。
sikuli-script.jar:http://download.csdn.net/download/hqd1986/4557974
將sikuli-script.jar包添加到eclipse中。
『伍』 如何用java代碼實現一個類似,jmeter的beanshell腳本/postman運行腳本的功能(解析字元串運行代碼)
beanshell是可以自由適用的腳本語言啊,你可以在你的項目中引入,具體方式請閱讀
beanshell官方文檔
『陸』 Java語言自動化腳本中可以封裝多個request然後進行調用
可以。
一個代碼可以封裝多個resquest進行調用,只是在調用的過程中必須保證方法名稱和調用的方式一致。
封裝的概念來自對面向對象的編程模式 比如說一個方法,你把他放到一個類裡面, 下次如果別的地方要用到的話,直接調用這個方法就行了,不用再重新編寫。
『柒』 如何在java中使用sikuli進行自動化測試
Sikuli 提供了一個簡易的腳本開發環境。預設界面由菜單欄、工具欄、側邊欄、編輯區、控制台和狀態欄六部分組成,如圖 1 所示。
工具欄中提供了兩組共計 5 個常用工具按鈕及文本搜索框:
屏幕截圖(Take screenshot):點擊該按鈕,進入屏幕截圖狀態,拖拽輔助線選取需要截取的界面元素,釋放滑鼠左鍵的同時,自動將該截圖插入到編輯區中游標當前位置。使用快捷鍵 Ctrl+Shift+2(Command+Shift+2)也可激活截圖狀態,以完成對於彈出菜單、下拉框一類的控制項的實時截圖。該快捷鍵亦可通過主菜單 File->Preferences 進行自定義。
插入圖片(Insert image):除直接截圖外,用戶也可通過點擊該按鈕導入已有的 PNG 格式圖片文件。
建立屏幕區域(Create region):點擊該按鈕,進入屏幕區域選擇狀態,拖拽定位十字線選取屏幕區域。釋放滑鼠左鍵,即可將當前選中區域的屏幕坐標信息插入到編輯區中。
運行(Run):點擊執行當前腳本。快捷鍵為 Ctrl+R(Command+R)。
慢速運行(Run in slow motion):點擊後以較慢的速度執行當前腳本,以紅色圓形外框顯式標識每一次圖像查找定位動作,便於程序調試中進行焦點追蹤。快捷鍵為 Ctrl+Alt+R(Command+Alt+R)。
左側側邊欄中分類列出了部分常用函數,點擊函數名可快速將其插入到編輯區,若該函數需截圖作為參數,則自動轉入屏幕截圖狀態。下方的狀態欄可用於查看當前行號,與行首 Tab 縮進的層級 ( 列號 )。
『捌』 如何在java中使用sikuli進行自動化測試
Sikuli使用圖像識別方法來識別GUI元素,將你在屏幕上看到的一切自動化。Sikuli腳本允許用戶使用屏幕截圖來自動化GUI交互。
1. 運行unit test腳本的時候,不能使用默認的方式,應該使用下面的代碼來運行:
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromTestCase(YOUR_TEST_CLASS))否則,unit test框架默認會在執行完所有case後退出程序,會導致sikuli報錯。
2. 考慮關閉Sikuli的輸出。否則當輸出太多時,會把一些unit test的測試結果給刷掉,另外Sikuli的輸入太多,大部分是沒用的信息。筆者暫時沒有找到關閉輸出的方法,不過有另外一個方式,Sikuli在執行時提供一個命令,可以配置Sikuli的log輸出文件。這樣可以讓Sikuli把自己的log輸出到單獨的文件中,這樣在命令行中運行Sikuli腳本的時候,只會看到unit test的輸出,不會看到Sikuli的輸出了。
3.將sikuli-script.jar包添加到eclipse中。
4.編寫自動化測試腳本: package com.mypro.sikuli; import org.sikuli.script.*; public class STest { public static void main(String[] args) throws FindFailed, InterruptedException { Screen s = new Screen(); //定義圖片存放路徑 String imgpath = "D:/java/sikuli/img/"; //雙擊桌面chrome瀏覽器圖標 s.doubleClick(imgpath+"chrome.png"); //輸入url s.type(imgpath+"url.png","www.bing.com"); s.click(imgpath+"lianxiang.png"); Thread.sleep(2000); //在bing輸入框輸入搜索關鍵字:sikuli,並點擊搜索按鈕 s.type(imgpath+"sreach_input.jpg","sikuli"); s.click(imgpath+"sreach_button.png"); System.out.println("end"); } }
『玖』 如何在java中使用sikuli進行自動化測試
Sikuli 提供了一個簡易的腳本開發環境。預設界面由菜單欄、工具欄、側邊欄、編輯區、控制台和狀態欄六部分組成,如圖 1 所示。
工具欄中提供了兩組共計 5 個常用工具按鈕及文本搜索框:
屏幕截圖(Take screenshot):點擊該按鈕,進入屏幕截圖狀態,拖拽輔助線選取需要截取的界面元素,釋放滑鼠左鍵的同時,自動將該截圖插入到編輯區中游標當前位置。使用快捷鍵 Ctrl+Shift+2(Command+Shift+2)也可激活截圖狀態,以完成對於彈出菜單、下拉框一類的控制項的實時截圖。該快捷鍵亦可通過主菜單 File->Preferences 進行自定義。
插入圖片(Insert image):除直接截圖外,用戶也可通過點擊該按鈕導入已有的 PNG 格式圖片文件。
建立屏幕區域(Create region):點擊該按鈕,進入屏幕區域選擇狀態,拖拽定位十字線選取屏幕區域。釋放滑鼠左鍵,即可將當前選中區域的屏幕坐標信息插入到編輯區中。
運行(Run):點擊執行當前腳本。快捷鍵為 Ctrl+R(Command+R)。
慢速運行(Run in slow motion):點擊後以較慢的速度執行當前腳本,以紅色圓形外框顯式標識每一次圖像查找定位動作,便於程序調試中進行焦點追蹤。快捷鍵為 Ctrl+Alt+R(Command+Alt+R)。
左側側邊欄中分類列出了部分常用函數,點擊函數名可快速將其插入到編輯區,若該函數需截圖作為參數,則自動轉入屏幕截圖狀態。下方的狀態欄可用於查看當前行號,與行首 Tab 縮進的層級 ( 列號 )。
『拾』 如何用java寫腳本,實現windows客戶端自動化測試
你的monkeyrunner腳本要用android自己的monkeyrunner
解釋器
(基於jython)
來載入,eclipse默認的是標准python解釋器,當然會報錯。最簡單的方法是..忽略它...當然你也可以自己配置eclipse的python解釋器選擇。