背景简述
结合前面三篇文章
【python3-1】读取jmeter报告内容
【python3-2】读取html报告返回值,作为接口传参调用
【python3-3】argparse命令行添加参数
本章主要是通过Jenkins集成脚本进行自动化执行测试
Jenkins集成脚本
新建 流水线(Pipeline)工程
配置基础配置,保存7天,保留6条记录
配置参数化构建过程,添加变量参数化,可以选择和填写变量
编辑Pipline脚本
参考pipline官网
参见邮件配置说明Jmeter接口测试(十三)Jenkins_Pipeline邮件配置
node('master') {
stage('Init'){
git '[email protected]:dz-qa/auto_api.git'
}
stage('Excute'){
echo '开始执行脚本'
withAnt{
sh 'ant -file /var/lib/jenkins/workspace/AutoTest-soa-${parameter}/conf/${parameter}_build.xml'
}
}
stage('Deployment Init') {
script {
sh 'ls /opt/htdocs/jenkins/reports/soa/html/${parameter}/ | egrep *.html > cart_listFiles.txt'
def cart_files = readFile("cart_listFiles.txt").split("\\r?\\n");
sh 'rm -f ${parameter}_listFiles.txt'
for (i = 0; i < cart_files.size(); i++) {
publishHTML target: [
allowMissing:false,
alwaysLinkToLastBuild: false,
keepAll:true,
reportDir: '/opt/htdocs/jenkins/reports/soa/html/${parameter}/',
reportFiles: cart_files[i],
reportName: 'HTML Report'
]
}
}
}
stage('Report&Email'){
echo '获取测试报告统计'
withAnt{
sh 'python3 /var/lib/jenkins/workspace/AutoTest-${parameter_name}/py-api/demo01.py -v1=${parameter} -v2=${parameter_name} -v3=${execute_type} -v4=${execute_stage}'
echo '发送报告'
emailext (
body: '''
构建信息
- 构建名称:${PROJECT_NAME}
- 构建结果: Successful
- 构建编号:${BUILD_NUMBER}
- 触发原因:${CAUSE}
- 部署分支:${gitBranch}
- 构建地址:${BUILD_URL}
- 构建日志:${BUILD_URL}console
- 环境: ${environment}
- 测试阶段:${execute_stage}
- 变更概要:${CHANGES}
- 测试报告地址:${BUILD_URL}HTML_20Report
- 变更集:${JELLY_SCRIPT}
- 测试结果报告 ${FILE, path="/opt/htdocs/jenkins/reports/soa/html/${parameter}/${parameter_name}_Report.html"}