Pytest集成Allure生成测试报告「Jenkins+Allure插件方案」

2782 篇文章 2 订阅
2619 篇文章 14 订阅

接上文我们说到我们有两个方案:

  • Allure服务器管理方案

  • Jenkins-Allure插件方案

本文中,主要以Jenkins+Allure插件方案,若有需求去看Allure服务器管理方案,可自行去本人其他文章中翻,感谢~

01 背景

抛出问题:

  • 跑完自动化生成的Allure测试报告是如何管理的?

  • 我的Allure测试报告怎么只能本地展示啊?

  • 别人怎么访问我的Allure测试报告链接?

  • 我的测试用例中有截屏怎么在Allure报告展示?

02 环境要求

  • Jenkins

  • Python

  • JDK

03 Jenkins配置

安装插件

  1. 登录到Jenkins服务器。

  2. 导航到管理Jenkins>管理插件

  3. 可用标签页中,搜索“AllureJenkinsPlugin”。

  4. 选择插件后点击安装后重启

在构建项目中使用Allure

  1. 打开你的Jenkins项目,点击配置

  2. 在构建环境设置中,找到增加构建后操作,选择AllureReport

  3. 配置Allure报告的生成,包括结果目录和报告目录。

  4. 保存。

代码配合

在上面我们已经添加好Allure的构建后操作,但是配置毕竟是配置,还是需要和我们的代码相匹配上的,因此在这里我们确认一下我们的代码是否与jenkins配置所匹配。

  • 我的config配置文件,我是将这些路径配置写在配置文件中

# 项目根目录  
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# allure报告目录  
REPORT_FILES = BASE_DIR + '/report'
  • 代码调用,带上--alluredir参数并将allure生成的报告存放在此目录中,与jenkins形成匹配关系

args = [f"--alluredir={config.REPORT_FILES}/json/", f"--clean-alluredir",]   
pytest.main(args)

运行结果

在上述Jenkins和代码我们都配置完毕之后,运行结束之后,在Jenkins运行结果之后就会出现一个构建后置操作的AllureReport的图标,点进去就可以看到allure样式的测试报告,如图:

点进去就可以看到完整的Allure测试报告了

04 自动化代码

在最后,我们可以想尽办法去优化最后一波。比如:能不能让自动化报告运行结束之后,做个简单汇总输出测试通过率,并且把测试报告的链接附带上,毕竟没有人会闲着没事一天到晚蹲在Jenkins面前,开搞!

Jenkins-Allure报告的链接逻辑

在这里我们观察到Allure报告的链接地址,无非就是

https://{IP}:{端口}/job/{job名称}/{构建number}/allure这个样式组成的,如图

那我们在代码里就这样写:

def get_jenkins_info():  
    jenkins_info = argparse.Namespace(  
    job_name=os.getenv('JOB_NAME', 'DefaultJobName'),  
    build_number=os.getenv('BUILD_NUMBER', '0'),  
    build_url=os.getenv('BUILD_URL', 'http://defaulturl/'),  
    node_name=os.getenv('NODE_NAME', 'DefaultNode'),  
    workspace=os.getenv('WORKSPACE', '/default/workspace'),  
    build_user=os.getenv('BUILD_USER_ID', 'NA')  
    )  

    # 日志记录环境信息  
    logger.info(f"{jenkins_info}")  

    return jenkins_info
    
jenkins_info = get_jenkins_info()

report_url = f"{config.JENKINS_WORK}/{jenkins_info.job_name}/{jenkins_info.build_number}/allure/"

如此,就可以将allure的测试报告链接输出出来了,至于文章上述的常量就懒得贴了,自行补全。至此,大功告成!

05 结语

通过Jenkins的Allure插件,我们不仅能自动化生成详细的测试报告,还能将这些报告整合入我们的CI/CD流程中,从而提高软件质量和开发效率。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个接口自动化测试框架可以使用以下工具和技术: 1. Python:作为主要开发语言,可以使用Python来编写测试脚本和测试用例。 2. Pytest:一款功能强大的Python测试框架,可以用于编写和运行测试用例,并提供丰富的断言和报告功能。 3. Allure:一个开源的测试报告生成工具,可以生成美观且易于理解的测试报告,支持多种语言和框架。 4. Git:版本控制工具,用于管理和同步测试代码。 5. Jenkins:一个持续集成和持续交付工具,可以自动化运行测试用例并生成测试报告。 6. Docker:容器化平台,可以用于创建和管理测试环境,提供一致的运行环境。 下面是搭建接口自动化测试框架的步骤: Step 1: 创建项目结构 在本地创建一个目录作为项目根目录,然后在根目录下创建以下子目录: - `tests`:存放测试脚本和测试用例; - `reports`:存放测试报告; - `config`:存放配置文件; - `utils`:存放一些工具类和函数。 Step 2: 编写测试用例 在`tests`目录下编写测试脚本和测试用例。可以使用Pytest来组织和执行测试用例,使用断言来验证测试结果。 Step 3: 配置Allure报告 在`config`目录下创建一个`pytest.ini`文件,配置Allure报告的相关参数,例如报告保存路径、报告标题等。 Step 4: 运行测试用例 使用Pytest运行测试用例,并生成Allure报告。可以使用命令行或者集成Jenkins中进行自动化执行。 Step 5: 集成Git和Jenkins 将项目代码托管到Git仓库中,并在Jenkins中配置相关任务,使其在代码提交后自动触发测试用例的运行和报告的生成。 Step 6: 创建Docker镜像(可选) 使用Docker将测试环境打包成镜像,方便部署和维护。 一些可能出现的问题和解决方法: 1. 安装依赖:在搭建过程中,可能会遇到安装依赖包的问题。可以使用pip来安装所需的Python包,并注意版本兼容性。 2. 配置问题:在配置AllureJenkins时,可能会遇到配置不正确或缺少必要参数的问题。可以参考官方文档或者搜索解决方案来解决这些问题。 3. 报告生成失败:如果生成Allure报告失败,可以检查相关依赖是否安装正确,以及路径和权限是否设置正确。 4. 测试环境问题:如果测试用例在不同环境中运行时出现问题,可以考虑使用Docker来创建一致的测试环境,或者在测试用例中添加环境适配代码。 相关问题: 1. 除了Allure,还有哪些常用的测试报告生成工具? 2. 如何在Pytest中使用断言来验证测试结果? 3. 如何在Jenkins中配置任务来触发自动化测试? 4. 除了接口自动化测试,还有哪些类型的自动化测试可以使用Python实现?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值