Jenkins是一种持续集成工具,对于持续的软件发布/测试项目很是实用。安装好Jenkins之后,须要的步骤以下:css
1. 新建项目(New Item)-> 输入将展现在Jenkins Job中的Project的名字 -> 选择Project的风格或者直接复制现有的一个相似的Jenkins Job.html
若是要复制现有的Job,这里面只须要输入部分名字,Jenkins就会自动查询相关的全部Project:服务器
2.点击OK之后,直接会跳转到该Project的配置界面,我选择复制了一个Project,该Project是一个自由组合类型的Job,如今只截取部分重要的配置:ide
有一个现成的Project就是上述配置,致使的结果是Build History只有5条记录:工具
具体要参数化什么参数,要看不一样的Project需求,我这里参数化了3个参数:Environment, TestSuite和Recipients. 分别表示API的运行环境,将要运行的Project中的哪个TestSuite,收到该Project运行报告的收件人。性能
这些配置用于:测试
点击Build with Parameters之后,会弹出选择对话框:ui
对于参数化类型是“Choice”的选项,写在第一行的就是该选项的默认值。(比方说Environment默认是第一行的QA)spa
这里若是没有特别须要,JDK选项能够不选。可是我在这个Project中用到了JDK8的特性和功能,因此在配置的时候就已经要指明JDK。.net
至于选择的Hub,是你本身事先建好的。(了解Hub和Node,请参考:https://my.oschina.net/u/942203/blog/847034)
由于我并无在这个Jenkins服务器上创建Node的权限,因此不能一步步详细解释怎么作,只能贴上现有的该Hub的Node:(该Hub有5个Nodes)
至于用什么源码管理工具,每一个公司都不一样,上图用的是Git。须要提供Git地址,登陆帐号还有代码分支。
这里选择在构建以前删除原有的workspace(这个workspace中的内容就是上图Git地址下载的代码),虽然会影响性能,可是能够避免一些代码同步问题。
下面配置的Absolute:60,意思是:若是这个项目60分钟后尚未下载构建运行完毕,就强行中止。(由于一个Jenkins上面有不少job的,你们都在排队,不能由于这一个Project致使后面的都被卡住了)
具体怎么配置能够点击文本框的问号,根据弹出来的解释本身配置合适的时间点,每到该时间点,系统就会自动运行该Jenkins Job。
第一条命令是在workspace文件夹下建立一个“result-output”文件夹,用来存放该project的输出内容,例如失败后的文件之类的。。。
第二条是重中之重,用命令行来运行Node服务器上的SoapUI Project,由于这个Project须要用到一个特别的jar包,这个jar包被添加到了Ready!API 1.9.0安装目录下的lib文件夹下了,因此这里我指定了要运行该版本的SoapUI。 若是不须要特别指定,这里能够将"READYAPI_PRO_190"改为“READYAPI_PRO_HOME”。 (由于SoapUI升级之后,原来版本的文件夹仍然放在原来的位置,因此一个电脑上能够同时有不少版本的SoapUI, 若是不当心复制jar包到已经不用的SoapUI版本中,这里必定要指定版本哦)
这两个变量都是Jenkins管理员在服务器端配置的,我没有权限因此看不到,只能用。。。
须要说明的是:
具体每一个小参数-a -j -E。。的含义网上有不少帖子,能够参考其中一篇文章:https://my.oschina.net/u/942203/blog/1540607
我这里只是运行了Choice中选中的某一个TestSuite, 因此在命令行里面添加了 -s"%TestSuite%", 若是你要运行整个Project,能够去掉该语句。
最后的“BuySideAPI_Accuracy“是这个Project在SoapUI中建立的时候的名字,若是你如今调用的是SoapUI当前使用版本,即"READYAPI_PRO_HOME", 那么末尾的Project就跟如今的workspace在一个目录下,就不须要强制给出project的绝对路径。 我这里用绝对路径是由于testrunner.bat所对应的SoapUI版本问题,致使必定要用绝对路径,不然,它就会在SoapUI安装目录下找BuySideAPI_Accuracy项目,这明显找不到,会报错的。
指明Jenkins生成的Report放在result-output文件夹下。
若是你添加的是JUnit test result report,是这样的:
邮件设置:
设置了邮件收件人和邮件内容。由于Jenkins自动生成的报告是在result-output文件夹下的html文件,并且失败的和总体的报告不在同一个文件,因此为了方便查看,这里写了HTML代码整合那些生成的报告,而且添加了Project的状态,环境之类的字段:
<link title="Style" type="text/css" rel="stylesheet" href="stylesheet.css">
<span style="font-family:verdana;color:black;font-weight:bold;">Project : </span>
<span style="font-family:verdana;color:black;">BuySide_RiskModel_API_SoapUI Project Report</span> <BR> <BR>
<span style="font-family:verdana;color:black;font-weight:bold;">Test Suite : </span>
<span style="font-family:verdana;color:black;">${TestSuite}</span> <BR> <BR>
<span style="font-family:verdana;color:black;font-weight:bold;">Environment : </span>
<span style="font-family:verdana;color:red;">${Environment}</span> <BR> <BR>
<span style="font-family:verdana;color:black;font-weight:bold;">Build Status : </span>
<span style="font-family:verdana;color:red;">${BUILD_STATUS}</span> <BR> <BR>
<span style="font-family:verdana;color:black;font-weight:bold;">Trigger Cause : </span>
<span style="font-family:verdana;color:black;">${CAUSE}</span> <BR> <BR>
<span style="font-family:verdana;color:black;font-weight:bold;">SoapUI Test Results : </span>
<span style="font-family:verdana;color:black;"><a href=https://"你的jenkins Job路径“/BuySide_RiskModel_API_SoapUI/ws/result-output/index.html>BuySide_RiskModel_API_SoapUI Test Result</a></span> 
<HR style="text-align:left;" width="95%" color=#A6CAF0 size=20 />
${FILE,path="result-output/overview-summary.html"}
<HR style="text-align:left;" width="95%" color=#A6CAF0 size=20 />
${FILE,path="result-output/alltests-fails.html"}
由于这里有样式,因此还须要将样式文件stylesheet.css放到指定位置,这里我设置的是workspace/TestData/.css, 因此须要将stylesheet.css放到TestData文件夹下:
body {
font:normal 14px verdana,arial,helvetica;
color:#000000;
}
table tr td, table tr th {
font-size: 14px;
}
table.details tr th{
font-weight: bold;
text-align:left;
background:#a6caf0;
}
table.details tr td{
font-size: 12px;
background:#eeeee0;
}
p {
line-height:1.5em;
margin-top:0.5em; margin-bottom:1.0em;
}
h1 {
margin: 0px 0px 5px; font: 16px verdana,arial,helvetica
}
h2 {
margin-top: 1em; margin-bottom: 0.5em; font: bold 14px verdana,arial,helvetica
}
h3 {
margin-bottom: 0.5em; font: bold 12px verdana,arial,helvetica
}
h4 {
margin-bottom: 0.5em; font: bold 12px verdana,arial,helvetica
}
h5 {
margin-bottom: 0.5em; font: bold 12px verdana,arial,helvetica
}
h6 {
margin-bottom: 0.5em; font: bold 12px verdana,arial,helvetica
}
.Error {
font-weight:bold; color:red;
}
.Failure {
font-weight:bold; color:purple;
}
.Properties {
text-align:right;
}
还有一个附件: result-output/*FAILED.txt,这是Jenkins生成的失败的测试报告,我也做为邮件的附件发送了。
最后这一项是设置邮件发送策略,我选择的是“Always”,不论是成功仍是失败,都发送给${Recipients}。
若是想知道更加全面的Jenkins配置参数,能够参考下面的一片文章:
http://www.360doc.com/content/14/1110/10/7811581_423993429.shtml