mac环境 java+testng+allure+jenkins构建测试报告

背景

在mac os下,使用testng作为测试框架,将测试结果输出到allure report中,并通过jenkins运行测试和展示报告

环境

  • JDK 11
    在个人mackbook上使用 JDK8 做调试时,执行 allure serve生成报告时,虽然提示成功,但是报告上无法显示内容,更换到 JDK 11 后问题解决,建议直接使用JDK11
  • allure
    多种安装方式,可以 从 Grab it from releases (see Assets section). 手动安装
    在 mac 环境下,也可以使用 Homebrew 安装
$ brew install allure

安装后,将alluer执行文件加入到path中,如果使用homebrew安装,则会自动加入到path中
可参考官网文档中的各种安装方式:https://docs.qameta.io/allure/#_about

使用方法

  1. 在 maven 工程中添加依赖和allure配置,${allure.version}选择最新版即可
    依赖部分:
      <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>${allure.version}</version>
      </dependency>

build配置部分:

 <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.2</version>
          <configuration>
            <argLine>
              -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
            </argLine>
            <includes>
              <include></include>
            </includes>
            <systemProperties>
              <property>
                <name>allure.results.directory</name>
                <value>${project.build.directory}/allure-results</value>
              </property>
              <property>
                <name>allure.link.issue.pattern</name>
                <value>https://example.org/issue/{}</value>
              </property>
            </systemProperties>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.aspectj</groupId>
              <artifactId>aspectjweaver</artifactId>
              <version>${aspectj.version}</version>
            </dependency>
          </dependencies>
        </plugin>
  1. 执行 mvn clean test , 在 allure.results.directory 指定位置中,生成报告文件夹( json数据等 )
  2. allure serve target/allure-result
    serve 后的位置,是 allure.results.directory 中指定的位置,可变,如果未找到对应文件夹,在console中提示,仍然能启动服务,但报告无内容
    启动后,会自动在浏览器中打开报告地址

这里省略了testng工程搭建的过程,可以自己写一个简单的,gitee demo_project 后续添加

与jenkins集成

  1. 安装插件
    在这里插入图片描述

  2. 添加完后,到全局工具配置里,最下面有个Allure Commandline ,添加配置,填写allure安装路径
    在这里插入图片描述

  3. 创建一个自由风格job,构建中,执行mvn clean test
    在这里插入图片描述

  4. 构建后操作中,添加 allure report , 要确定results地址正确
    在这里插入图片描述初次执行时,执行构建,出错 在这里插入图片描述
    The JAVA_HOME environment variable is not defined correctly,
    在 jenkins 中配置 JAVA_HOME
    在这里插入图片描述
    重新 build, 仍出错
    在这里插入图片描述

确认在该路径下,存在pom文件,在 execute shell 中添加 ls -l 加以确认,发现出现新的问题
在这里插入图片描述
ls: .: Operation not permitted

查询资料,【Mac OS】Mac部分目录读写提示“Operation not permitted”解决
是Mac OSX 系统中有一项Rootless机制,即使在root权限下也不能所以读写某些特定路径的文件。Rootless可以有效防止恶意程序对电脑的破坏,平时建议保持开启状态。

为了确认是 mac 安全机制的问题,先关闭保护机制再试试。

在重启电脑前,终端输入 csrutil status 查看目前状态,默认是 enabled

重启电脑,按住Command+R进入恢复模式,左上角菜单中,选择“实用工具-终端”点击菜单开启Terminal,输入: csrutil disable ,再选择重启即可。

重启电脑后,终端输入 csrutil status 查看目前状态,已经变成 disabled 了

重新build,执行成功。

设置allure report

设置好allure-results的路径,注意这里的路径是相对 jenkins_workspace 来的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值