Java+restassured + juint5+extentx+jenkins环境搭建
前言
接口自动化的作用已经不言而喻了,低成本高价值的特性使其在测试过程中显得尤为重要,本文就当前比较常见的几个测试框架、报告框架做一个简单的环境搭建介绍,不足之处,敬请指正。
条件
1. 操作系统,本文主要以mac作为例子,其实搭建起来和系统几乎没关系
2. Java环境(mac直接安装的Java能正常使用,但是没有配置JAVA_HOME会导致命令行执行报错,具体见后文)
3. Node.js环境,自行下载安装
4. mongoDB环境
5. Jenkins环境
Node.js环境配置
官网下载:https://nodejs.org/zh-cn/
版本无所谓,你喜欢就好,建议下载LTS版本,以获取后续持续支持。
安装完成后terminal中输入:node -v,如下图环境配置成功
MongoDB环境配置
配置方法参考菜鸟教程brew安装,简单傻瓜式,反正适用于我,我就支持copy了!
brew tap mongodb/brew
brew install mongodb-community@4.4
注:@ 符号后面的 4.4 是版本号。
安装信息:
- 配置文件:/usr/local/etc/mongod.conf
- 日志文件路径:/usr/local/var/log/mongodb
- 数据存放路径:/usr/local/var/mongodb
运行 MongoDB:
我们可以使用 brew 命令或 mongod 命令来启动服务。
brew 启动:
brew services start mongodb-community@4.4
brew 停止:
brew services stop mongodb-community@4.4
mongod 命令后台进程方式:
mongod --config /usr/local/etc/mongod.conf --fork
这种方式启动的话,要关闭可以进入 mongo shell 控制台来实现:
db.adminCommand({ "shutdown" : 1 })
如果你跟我一样有强迫症,你可以再去用数据库客户端尝试连接下,毕竟我是菜鸟习惯GUI的客户端…
ExtentX环境配置
此处参考:https://blog.youkuaiyun.com/weixin_30795127/article/details/97082970
- 确保已经运行mongodb
- clone或者下载extentX,解压到某一目录,戳我直达。
- 进入目录中,使用命令npm install安装本模块
- 使用命令 sails lift 启动服务
- 打开浏览器,使用 IP+端口访问服务,服务默认端口为1337
设置监听和依赖
此处请参考原博主设置吧。https://blog.youkuaiyun.com/weixin_30795127/article/details/97082970
Jenkins配置
-
新建一个Jenkins pipline工作流,为啥选择pipline,因为它用起来很灵(装)活(X)
-
配置环境变量:全局属性处新增一个PATH变量,值填写系统变量,可通过echo $PATH获得,然后保存。
-
配置邮箱:
安装Email Extension Plugin插件,用于发送HTML邮件内容
配置Jenkins系统管理员邮箱
配置邮箱和邮箱拓展,这两个地方配置其实是一样的
配置git拉取权限
进入凭据-全局凭据,如图新增一个全局凭据
这样就有权限拉取私人仓库的代码了
编写Pipline脚本
node{
try{
stage('检查传入参数'){
env.git_url = "${git_url}".trim()
}
stage('git:拉取代码'){
git branch:'master', credentialsId: '81d60531-a10a-4dda-xxxxxxxxxxx', url: '${git_url}'
}
stage('执行测试'){
sh("mvn clean compile test -Dtest=testSuite;")
}
}catch(ex){
currentBuild.result = 'FAILURE'
echo "It failed!"
throw ex
}finally {
if(currentBuild.result == 'FAILURE'){
emailext body:'''<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B"><font size="4"> 接口自动化构建信息</font></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<div style="font-size:18px">
<li>构建名称:接口自动化测试</li>
<li>构建结果: <span style="color:red"> FAILED </span></li>
<li>触发原因:每日定时测试</li>
<li>环境:测试环境</li>
<li>测试报告地址:<a href="http://192.168.31.175:1337/#/report-list">点击查看报告</a></li>
</div>
</ul>
</td>
</tr>
</table></font>
</body>
</html>''', subject:"接口自动化测试报告",
to: "xxxxxx@163.com"
}else{
emailext body:'''<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B"><font size="4">接口自动化构建信息</font></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<div style="font-size:18px">
<li>构建名称:接口自动化测试</li>
<li>构建结果: <span style="color:green"> PASS </span></li>
<li>触发原因:每日定时测试</li>
<li>环境: 测试环境</li>
<li>测试报告地址:<a href="http://192.168.31.175:1337/#/report-list">点击链接,查看报告</a></li>
</div>
</ul>
</td>
</tr>
</table></font>
</body>
</html>''', subject:"接口自动化测试报告",
to: "xxxxxxxxn@163.com"
}
}
}
常见问题:
- sails命令不识别:npm install sails -g(看到info: Created a new Sails app xxx即成功)
- No compiler is provided in this environment. Perhaps you are running on a JRE xxx:去配置下JAVA_HOME就可以了