美文网首页Jenkins&Gradle配置
Jenkins接口自动化测试持续集成

Jenkins接口自动化测试持续集成

作者: 满船清梦压星河ya_ | 来源:发表于2020-07-29 16:55 被阅读0次

    新建 Jenkins 任务

    • 输入任务名称
    • 选择 构建一个多配制项目


      image.png

    jenkins 参数化构建

    1. 添加 Choice Parameter 参数

    用途:可以用来选择测试环境构建任务。

    • 添加参数下拉框中选择 “Choice Parameter”
    • 在“名称”中输入一个变量名,例如:ENVIRONMENT
    • 在“选项”中输入下拉框的内容


      image.png

      设置完成后,执行Jenkins任务之前,可以选择测试环境,如下图:


      image.png

    2.添加 Git Parameter 参数

    用途:从Git上拉去最新的测试脚本。
    如果“添加参数”下拉框中没有Git Parameter选项,需要先安装Jenkins插件Git Parameter。


    image.png
    • 插件安装后,在添加参数下拉框中选择 “Git Parameter”


      image.png

    使用自定义的工作空间

    可以将测试脚本从git上拉取到工作空间中,每次执行完脚本后,清空该工作空间,下次构建任务会拉取新的测试脚本。


    image.png

    源码管理

    • 源码管理选择:Git
    • 输入git上测试脚本的地址
    • 点击【添加】按钮,输入git的账号密码
    • 添加账号密码后,选择添加的账号密码


      image.png
      image.png
      image.png

    清空workspace

    勾选该项,每次构建之前,会先清空自定义的工作空间。


    image.png

    构建

    1. 执行bat文件,修改测试环境配置文件

    %WORKSPACE%\config\change_environment.bat %ENVIRONMENT%
    
    image.png

    2. 执行pytest测试脚本

    cd /D %WORKSPACE%/case
    python -m pytest --html=%WORKSPACE%/pytest-report/report.html --self-contained-html --alluredir=%WORKSPACE%/allure-results
    exit 0
    

    构建后操作

    1. Archive the artifacts

    image.png

    2. HTML Publisher

    需要安装Jenkins插件:HTML Publisher


    image.png

    安装好HTML Publisher之后,会在新建或者编辑项目时,在【增加构建后操作步骤】出现【Publish HTML reports】的选项。


    image.png

    3. allure

    需要安装Jenkins插件:Allure


    image.png

    安装好Allure之后,会在新建或者编辑项目时,在【增加构建后操作步骤】出现【Allure Report】的选项。


    image.png

    4. Editable Email Notification

    image.png
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
                <title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title>
            </head>
    
            <body leftmargin="8" marginwidth="0" topmargin="2" marginheight="4"
          offset="0">
                <table width="95%" cellpadding="0" cellspacing="0"
           style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    
                    <tr>
                        <td>
                            <h2>
                                <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                                <br>
                                    <font size="2">(本邮件是程序自动下发的,请勿回复!)</font>
                                </h2>
                            </td>
                        </tr>
    
                        <tr>
                            <td>
                                <br />
                                <b>
                                    <font size=4, color="#0B610B">构建信息</font>
                                </b>
                                <hr size="2" width="100%" align="center" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <ul>
                                    <li>项目名称: ${PROJECT_NAME}</li>
                                    <li>构建编号: 第${BUILD_NUMBER}次构建</li>
                                    <li>触发原因: ${CAUSE}</li>
                                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                                    <li>构建URL : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                                    <li>工作目录: <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                                    <li>项目URL : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                                </ul>
                                <br />
                            </td>
                        </tr>
    
                        <tr>
                            <td>
                                <b>
                                    <font size=4, color="#0B610B">Test Informations</font>
                                </b>
                                <hr size="2" width="100%" align="center" />
                            </td>
                        </tr>
    
                        <div align="left">
                            <table border="2" cellspacing="0" width="400">
                                <tr>
                                    <th width="200px">
                                        <font size="3">Total</font>
                                    </th>
                                    <th width="200px">
                                        <font size="3">Pass</font>
                                    </th>
                                    <th width="200px">
                                        <font size="3">Failed</font>
                                    </th>
                                    <th width="200px">
                                        <font size="3">Skiped</font>
                                    </th>
                                </tr>
                                <tr onmouseover="this.style.backgroundColor='#ffff66';" onmouseout="this.style.backgroundColor='#d4e3e5';">
                                    <td align="center">
                                        <font size="3">${TEST_COUNTS,var="total"}</font>
                                    </td>
                                    <td align="center">
                                        <font size="3">${TEST_COUNTS,var="pass"}</font>
                                    </td>
                                    <td align="center">
                                        <font color="red" size="3">
                                            <b>${TEST_COUNTS,var="fail"}</b>
                                        </font>
                                    </td>
                                    <td align="center">
                                        <font size="3">${TEST_COUNTS,var="skip"}</font>
                                    </td>
                                </tr>
                            </table>
                        </div>
                        <br />
    
                        <tr>
                        <td>
                            <br />
                            <b>
                                <font color="red" size="2"> 详细内容见测试报告(查看附件):</font>
                            </b>
                            <a href="${BUILD_URL}allure">${BUILD_URL}allure</a>
                            <br/>
                            <br/>
                        </td>
                        </tr>
    
                        <tr>
                        <td>
                            <br />
                            <b>
                                <font size=4, color="#0B610B">最近提交</font>
                            </b>
                            <hr size="2" width="100%" align="center" />
                        </td>
                        </tr>
    
                        <tr>
                            <td>
                                ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
                            </td>
                            <br/><br/>
    
                        </tr>
    
                        <tr>
                        <td>
                            <br />
                            <b>
                                <font size="2"> 详细提交:</font>
                            </b>
                            <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a>
                            <br/>
                            <br/>
                        </td>
                        </tr>
    
                        <tr>
                            <td>
                                <br />
                                <b>
                                    <font size=4, color="#0B610B">变更集</font>
                                </b>
                                <hr size="2" width="100%" align="center" />
                            </td>
                        </tr>
    
                        <tr>
                            <td>
                                ${JELLY_SCRIPT,template="html"}<br/>
                            </td>
                        </tr>
        
                    </table>
                </body>
            </html>
    

    相关文章

      网友评论

        本文标题:Jenkins接口自动化测试持续集成

        本文链接:https://www.haomeiwen.com/subject/lnqkrktx.html