定時修改Jenkins配置

1、執行前提:

一、bat文件要求windows環境;
二、腳本中已指定使用chrome瀏覽器,因此最好是有chrome;
三、有安裝python + Robot Framework,同時已裝好Selenium2Library庫;
四、modify_task.batModifyJenkins.txt在同一目錄下(不建議放在桌面,最好單獨放在一個文件夾);
五、定時設好後,別忘了讓電腦禁止進入睡眠(或者也能夠設置喚醒電腦再執行);html

2、腳本說明:

ModifyJenkins.txt只是用於修改項目配置,並將項目加入待構建列表,不表明立刻就開始構建;
(能夠根據須要來增長這個功能:關閉排在它前面的項目,以便當即開始構建);
定時任務須要結合windows下的任務計劃程序使用。
思路是:
一、在bat中寫好執行RF腳本的命令(就一句 pybot + 腳本名稱);
二、使用任務計劃程序來啓動這個bat;(其實也能夠直接執行腳本不經過bat,可是這樣更方便些)python

3、根據須要修改參數(固然參數組成因項目而異):

在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

4、使用任務計劃程序定時:

一、在開始-搜索欄輸入「計劃」,便可看到「任務計劃程序」,打開;
二、在右側欄目點擊「建立基本任務」;
三、填入任務名稱,如: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

5、查看執行報告:

執行完成後,在該文件的目錄下會有report.html,直接打開可查看執行結果。

ui

6、特別說明:

若是要執行多個定時任務,modify_task.bat和ModifyJenkins.txt最好要一一對應;
可在文件名上做區分,如增長前綴0一、02等等。
若ModifyJenkins.txt文件名發生變動,則須要修改與其對應的bat文件,編輯bat,替換文件名便可。

url

附:源碼(具體參數已作處理)

一、ModifyJenkins.txtspa

*** 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
相關文章
相關標籤/搜索