当前位置: 首页 > news >正文

【自动化测试】如何在jenkins中搭建allure

相信大家在做自动化测试过程中,都会用到自动化测试环境,目前最常见的就是通过容器化方式部署自动化测试环境,但对于一些测试小白,不是很会搭建持续集成环境,特别是从0-1的过程,需要自行搭建很多依赖环境,今天就给大家介绍一下如何在jenkins搭建allure,以及allure所依赖的环境。

一、安装JDK

1. 下载jdk

方式一:直接通过命令下载指定版本

方式二:在官方下载,传输到Linux系统

2. 解压jdk

tar -zxvf  jdk-19_linux-x64_bin.tar.gz

3. 配置java环境变量

3-1 若是jenkins容器中无vim命令,需要安装vim

apt-get update 
apt-get install vim

3-2 编辑配置文件,添加环境变量

 vim /etc/profile

图片

3-3 编辑后保存退出,使用如下命令

source /etc/profile

3-4 验证是否配置成功

图片

二、安装allure

1. 解压allure

1-1 将文件从宿主机复制到容器内部,并解压

复制allure安装包
docker cp /var/allure-2.21.0.tgz jenkins:/usr/local/src
解压文件
tar -zxvf allure-2.21.0.tgz

1-2 赋予文件夹所有内容最高权限

chmod -R 777 allure  # allure安装所在目录

2. 配置环境变量

2-1 配置方式和jdk类似,编辑环境变量,并保存

vim /etc/profile 
# 编辑内容
export PATH=$PATH:/usr/local/src/allure/bin  # allure的安装目录

在这里插入图片描述

2-2 使环境变量生效

source /etc/profile

2-3 验证是否配置成功

图片

备注:若是遇到每次进入jenkins容器中,设置的环境变量没有生效,每次都需要执行source命令,可通过在配置文件添加如下命令,即可解决

# 编辑bashrc文件
vim ~/.bashrc
# 添加source命令,并保存
source /etc/profile
# 重启容器,即可解决该问题
docker restart jenkins

三、配置allure

1. 安装allure插件

在jenkins的"系统管理"->"Plugins"中的"Available plugins"列表中搜索:allure,然后点击:install,安装后可以在"Installed plugins"中查看该插件,显示"启用"即为安装成功

图片

2. 配置JDK环境

在jenkins的"系统管理"->"全局工具配置"中配置JDK

图片

3. 配置allure环境

在jenkins的"系统管理"->"全局工具配置"中配置allure

图片

4. 添加allure构建后操作

4-1 在项目的"配置"->“构建后操作"添加"Allure Report”

图片

4-2 在"Build Steps"中添加allure报告文件的保存目录,必须和"构建后操作"中allure的Path目录一致

图片

5. 实现效果

5-1 在项目工作区中点击“立即构建按钮”,然后即可查看生成的allure报告

图片

在这里插入图片描述

6. 修改jenkins所在时区

说明:若是发现jenkins的时间和实际的时间不一致,大概率是时区的问题,所以需要修改jenkins容器中的时区

6-1. 使用root身份进入容器

docker exec -it -u root jenkins /bin/bash

6-2 查看容器的时区,结果发现时区是ETC/UTC

图片

6-3 修改容器的时区为:Asia/Shanghai

图片

6-4 退出容器内部,重启容器

docker restart jenkins

6-5 在jenkins系统管理->系统属性->user.timezone字段变为:Asia/Shanghai,即为成功

图片

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

http://www.lryc.cn/news/319887.html

相关文章:

  • 2.域控如何强制转移操作主机角色?使用命令如何强制转移域控的操作角色?
  • C# event的使用
  • 外包干了9天,技术退步明显。。。。。
  • Android Framework 之 Python
  • 【Fitten Code】“吊打“Github Copilot的国内免费代码辅助插件
  • Git中的换行符CRLF和LF问题
  • go语言文件操作
  • 七月论文审稿GPT第3.2版和第3.5版:通过paper-review数据集分别微调Mistral、gemma
  • QML 自定义时间编辑控件
  • 后端程序员入门react笔记(八)-redux的使用和项目搭建
  • 深度学习 精选笔记(13.2)深度卷积神经网络-AlexNet模型
  • 【C#图解教程】笔记
  • A Workload‑Adaptive Streaming Partitioner for Distributed Graph Stores(2021)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Search)
  • GPIO八种工作模式实践总结
  • ElementUI两个小坑
  • 前端基础——HTML傻瓜式入门(2)
  • 操作系统(AndroidIOS)图像绘图的基本原理
  • 测试用例的设计(2)
  • HTML与CSS
  • App推广不再难!Xinstall神器助你快速获客,提升用户留存
  • MySQL建表以及excel内容导入
  • 让el-input与其他组件能够显示在同一行
  • 学完Efficient c++ (44-45)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ColumnSplit)
  • jenkins部署go应用 基于docker-compose
  • 【晴问算法】入门篇—贪心算法—整数配对
  • 九种背包问题(C++)
  • 008:安装Docker
  • STM32第九节(中级篇):RCC(第一节)——时钟树讲解