定时修改Jenkins配置

一、执行前提:

1、bat文件要求windows环境;
2、脚本中已指定使用chrome浏览器,所以最好是有chrome;
3、有安装python + Robot Framework,同时已装好Selenium2Library库;
4、modify_task.batModifyJenkins.txt在同一目录下(不建议放在桌面,最好单独放在一个文件夹);
5、定时设好后,别忘了让电脑禁止进入睡眠(或者也可以设置唤醒电脑再执行);

二、脚本说明:

ModifyJenkins.txt只是用于修改项目配置,并将项目加入待构建列表,不代表马上就开始构建;
(可以根据需要来增加这个功能:关闭排在它前面的项目,以便立即开始构建);
定时任务需要结合windows下的任务计划程序使用。
思路是:
1、在bat中写好执行RF脚本的命令(就一句 pybot + 脚本名称);
2、使用任务计划程序来启动这个bat;(其实也可以直接执行脚本不通过bat,但是这样更方便些)

三、根据需要修改参数(当然参数组成因项目而异):

在ModifyJenkins.txt中修改要配置的参数。
打开该文件后,可以看到“* Variables *”部分如下(举例):

*** Variables ***
${Jenkins_url}    Jenkins_url    # 修改jenkins地址
${job_name}       job_name    # 修改要配置的项目,与Jenkins上的项目名称一致
${arg_purpose}    -arg_purpose    # 修改版本类型
${arg_version}    -arg_version    # 修改版本号
${arg_product}    -arg_product   # 修改对应产品

这几个参数都要检查一遍,是否对应,修改后保存。
注意不要增删到空格。

四、使用任务计划程序定时:

1、在开始-搜索栏输入“计划”,即可看到“任务计划程序”,打开;
2、在右侧栏目点击“创建基本任务”;
3、填入任务名称,如:ModifyJenkins_task(随意,自己能区分就好);
4、触发条件根据需要选择,一般是选择“一次”即可;
5、设定任务预期被执行的时间;
6、在“操作”中选择的是“启动程序”;
7、在“程序或脚本”中选择并打开modify_task.bat,在“起始于”中务必再填入modify_task.bat的位置;
如:
程序或脚本(强调脚本):F:\RF_TEST\test\test_manager\modify_task.bat
起始于(强调位置):F:\RF_TEST\test\test_manager

8、再下一步不需要其他修改,点击完成即可。
9、这个定时任务以后可以继续使用,在计划列表中找到它,打开它的属性,一般修改时间即可。

更详细的设置请看我的另一篇:《结合Windows任务计划程序执行 Robot Framwork 脚本》

五、查看执行报告:

执行完成后,在该文件的目录下会有report.html,直接打开可查看执行结果。

六、特别说明:

如果要执行多个定时任务,modify_task.bat和ModifyJenkins.txt最好要一一对应;
可在文件名上作区分,如增加前缀01、02等等。
若ModifyJenkins.txt文件名发生变更,则需要修改与其对应的bat文件,编辑bat,替换文件名即可。

附:源码(具体参数已做处理)

1、ModifyJenkins.txt

*** 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}    #写入修改后的参数

2、modify_task.bat

pybot ModifyJenkins.txt
posted @ 2018-07-20 17:39  CYTyeah  阅读(282)  评论(0编辑  收藏  举报