定时修改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
相关文章
相关标签/搜索