新建 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.png2. 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>
网友评论