一、bat文件要求windows環境;
二、腳本中已指定使用chrome瀏覽器,因此最好是有chrome;
三、有安裝python + Robot Framework,同時已裝好Selenium2Library庫;
四、modify_task.bat
和ModifyJenkins.txt
在同一目錄下(不建議放在桌面,最好單獨放在一個文件夾);
五、定時設好後,別忘了讓電腦禁止進入睡眠(或者也能夠設置喚醒電腦再執行);html
ModifyJenkins.txt只是用於修改項目配置,並將項目加入待構建列表,不表明立刻就開始構建;
(能夠根據須要來增長這個功能:關閉排在它前面的項目,以便當即開始構建);
定時任務須要結合windows下的任務計劃程序使用。
思路是:
一、在bat中寫好執行RF腳本的命令(就一句 pybot + 腳本名稱);
二、使用任務計劃程序來啓動這個bat;(其實也能夠直接執行腳本不經過bat,可是這樣更方便些)python
在ModifyJenkins.txt中修改要配置的參數。
打開該文件後,能夠看到「* Variables *」部分以下(舉例):chrome
*** Variables ***
${Jenkins_url} Jenkins_url # 修改jenkins地址
${job_name} job_name # 修改要配置的項目,與Jenkins上的項目名稱一致
${arg_purpose} -arg_purpose # 修改版本類型
${arg_version} -arg_version # 修改版本號
${arg_product} -arg_product # 修改對應產品
這幾個參數都要檢查一遍,是否對應,修改後保存。
注意不要增刪到空格。windows
一、在開始-搜索欄輸入「計劃」,便可看到「任務計劃程序」,打開;
二、在右側欄目點擊「建立基本任務」;
三、填入任務名稱,如:ModifyJenkins_task
(隨意,本身能區分就好);
四、觸發條件根據須要選擇,通常是選擇「一次」便可;
五、設定任務預期被執行的時間;
六、在「操做」中選擇的是「啓動程序」;
七、在「程序或腳本」中選擇並打開modify_task.bat
,在「起始於」中務必再填入modify_task.bat的位置;
如:
程序或腳本(強調腳本):F:\RF_TEST\test\test_manager\modify_task.bat
起始於(強調位置):F:\RF_TEST\test\test_manager
數組
八、再下一步不須要其餘修改,點擊完成便可。
九、這個定時任務之後能夠繼續使用,在計劃列表中找到它,打開它的屬性,通常修改時間便可。瀏覽器
更詳細的設置請看個人另外一篇:《結合Windows任務計劃程序執行 Robot Framwork 腳本》
bash
執行完成後,在該文件的目錄下會有report.html,直接打開可查看執行結果。
ui
若是要執行多個定時任務,modify_task.bat和ModifyJenkins.txt最好要一一對應;
可在文件名上做區分,如增長前綴0一、02等等。
若ModifyJenkins.txt文件名發生變動,則須要修改與其對應的bat文件,編輯bat,替換文件名便可。
url
一、ModifyJenkins.txt
spa
*** Settings ***
Library Selenium2Library
*** Variables ***
${Jenkins_url} Jenkins_url # 修改jenkins地址
${job_name} test # 修改要配置的項目,與Jenkins上的項目名稱一致
${arg_purpose} -arg_purpose # 修改版本類型
${arg_version} -arg_version # 修改版本號
${arg_product} -arg_product # 修改對應產品
*** Test Cases ***
login
open browser ${Jenkins_url} chrome ##修改對應Jenkins
maximize browser window #窗口最大化
wait until element contains xpath=//div[@class='login']/a 登陸
click element xpath=//div[@class='login']/a #進入登陸
input text j_username username #輸入用戶名
input text j_password password #輸入密碼
click button 登陸
sleep 1
modify
${job_path}= catenate SEPARATOR= xpath=//*[@id='job_ ${job_name} ']/td[3]/a #如xpath=//*[@id='job_test']/td[3]/a
${arg}= catenate str1 ${arg_purpose} str2 ${arg_version} str3 ${arg_product} #將修改後的參數字串鏈接起來
wait until element is visible ${job_path} error='所填項目不存在,請檢查${job_name}' #驗證當前是否有該項目
modify job arg ${job_path} ${arg} #寫入修改後的參數
wait until element contains xpath=//*[@id='yui-gen56-button'] 保存
click element xpath=//*[@id='yui-gen56-button'] #點擊保存
wait until element contains xpath=//*[@id='tasks']/div[5]/a[2] 當即構建
click element xpath=//*[@id='tasks']/div[5]/a[2] #點擊當即構建
sleep 1
[Teardown] close browser
*** Keywords ***
modify job arg
[Arguments] ${job_path} ${arg}
click element ${job_path} #打開指定項目
wait until element contains //*[@id='tasks']/div[7]/a[2] 配置
click element //*[@id='tasks']/div[7]/a[2] #打開配置頁面
Comment wait until element contains //*[@id='main-panel']/div/div/div/div[2]/div[3]/div/div[6] 構建
Comment click element //*[@id='main-panel']/div/div/div/div[2]/div[3]/div/div[6] #點擊構建
wait until element contains xpath=//*[@id='yui-gen14']/table/tbody/tr[3]/td[3]/textarea command #找到構建參數的文本框
input text xpath=//*[@id='yui-gen14']/table/tbody/tr[3]/td[3]/textarea ${arg} #寫入修改後的參數
二、modify_task.bat
pybot ModifyJenkins.txt