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 来的
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaTestNG是一对常用的组合,用于编写和执行Java测试代码。 Java是一种广泛使用的编程语言,拥有强大的面向对象特性和丰富的开发库。它被广泛用于开发各种类型的应用程序,包括Web应用、桌面应用、移动应用等等。 TestNG(Test Next Generation)是一个基于Java的测试框架,它提供了丰富的功能和灵活的配置选项,用于编写和执行单元测试、集成测试和端到端测试等。TestNG通过注解的方式来标记测试方法和测试套件,使得测试代码更加简洁易读。它还支持并行执行测试、数据驱动测试、测试报告生成等功能。 使用JavaTestNG进行测试,你可以先编写测试代码,使用TestNG注解标记需要测试的方法和测试套件。然后,你可以使用TestNG的运行器来执行这些测试代码,并生成详细的测试报告。 下面是一个简单的示例代码,展示了如何使用JavaTestNG进行测试: ```java import org.testng.annotations.Test; public class MyTest { @Test public void test1() { // 测试代码 } @Test public void test2() { // 测试代码 } } ``` 在上面的示例中,我们使用了`@Test`注解来标记两个测试方法`test1`和`test2`。你可以在这些方法中编写具体的测试代码。 要执行这些测试方法,你可以使用TestNG的运行器。你可以通过命令行工具、集成开发环境(IDE)或构建工具(如Maven、Gradle)来运行TestNG测试。 希望这个简单的介绍对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值