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.csdn.net/weixin_30795127/article/details/97082970

  1. 确保已经运行mongodb
  2. clone或者下载extentX,解压到某一目录,戳我直达
  3. 进入目录中,使用命令npm install安装本模块
  4. 使用命令 sails lift 启动服务
  5. 打开浏览器,使用 IP+端口访问服务,服务默认端口为1337

设置监听和依赖

此处请参考原博主设置吧。https://blog.csdn.net/weixin_30795127/article/details/97082970

Jenkins配置

  1. 新建一个Jenkins pipline工作流,为啥选择pipline,因为它用起来很灵(装)活(X)

  2. 配置环境变量:全局属性处新增一个PATH变量,值填写系统变量,可通过echo $PATH获得,然后保存。
    在这里插入图片描述
    在这里插入图片描述

  3. 配置邮箱:
    安装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就可以了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值