python_pytest_allure_jenkins 笔记


前言

python_pytest_allure_jenkins

1 部署Jenkins

1.1安装Jenkins

安装步骤 此处省略

1.2 修改Jenkins配置文件

vim /etc/sysconfig/jenkins

修改Jenkins配置文件
$JENKINS_USER改为 “root”:
$JENKINS_USER=“root”

1.3 修改Jenkins文件权限

更改Jenkins home,webroot和日志的所有权:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

1.4 修改服务器保存的代码仓库的文件权限

还需要将代码保存位置所有的文件权限都修改为Jenkins权限(否则-Jenkins的shell脚本会报没有权限)
chown -R jenkins.jenkins /data/

1.5 重新启动Jenkins

service jenkins restart

1.6 服务Jenkins权限

sudo chown -R jenkins```

# 2 Allure的安装
## 2.1 下载Allure安装包从中找到tgz的发布包
> https://github.com/allure-framework/allure2/releases

上传allure-2.18.0.tgz到服务器的/usr/local目录下
> wget下载安装包 
> sudo wget https://github.com/allure-framework/allure2/releases/download/2.19.0/allure-2.19.0.tgz

## 2.2 解压&配置allure

> 使用tar命令进行解压 
> tar -zxvf allure-2.19.0.tgz

配置环境变量 编辑 /etc/profile 文件,在文件默认增加如下内容后wq保存
>  vim /etc/profile 
>  export PATH=$PATH:/usr/local/allure/allure-2.19.0/bin

配置生效

> source /etc/profile
## 2.3 验证allure是否成功
> $ source /etc/profile  
> $ allure --version
> 2.18.0

```python
<!DOCTYPE html>    
<html>    
<head>    
<meta charset="UTF-8">    
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
</head>    
    
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>
                    <li>项目描述:${JOB_DESCRIPTION}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                   <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>测试报告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a></li>    
                </ul>    
 
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
 
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
 
            </td>    
        </tr>    
    </table>    
</body>    
</html>
---

3 Jenkins配置

3.1 配置configure system

1) configure system --> Jenkins Location

在这里插入图片描述

2) configure system --> Extended E-mail Notification

在这里插入图片描述

3)configure system -->邮件通知

在这里插入图片描述

3.2 插件管理

1)搜索allure,然后选择install without restart

在这里插入图片描述

3.3 编辑任务

1)新增allure report配置
在这里插入图片描述
2)配置通知邮箱
在这里插入图片描述
3)配置总是发送
在这里插入图片描述
4)配置下工作空间目录
在这里插入图片描述
5)shell
在这里插入图片描述

pytest -v -n 4 /test_s_webapp.py --alluredir=./allure-report
exit 0

6)执行后结果&自动发送邮件
在这里插入图片描述
7)Jenkins 定时任务配置 H/5 ****

Minutes (0-59): H/5 表示每隔5分钟触发一次。H代表一个随机分钟(用于避免同时运行多个任务,提高资源利用率)。
Hours (0-23): * 表示任意小时。
Day of month (1-31): * 表示任意日期。
Months (1-12): * 表示任意月份。
Day of week (0-7) (Sun-Sat): * 表示任意星期几。

所以,将这个表达式用于Jenkins的定时任务配置中,会导致任务每隔5分钟执行一次。

4 报告输出时报 PS OutOfMemoryError

Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
在这里插入图片描述

4.1修改方法 DEFAULT_JVM_OPTS= -Xmx4G

Linux 修改allure文件
在这里插入图片描述
win 修改allure.bat 文件
在这里插入图片描述

总结

python_pytest_allure_jenkins

备注遇到的坑记录

1、可用的pytest和allure-pytest版本
可用的版本

2、allure运行报错 “ValueError: option names {‘–alluredir’} already added”
问题排查:

依赖包冲突

pytest-allure-adaptor与allure-pytest的alluredir都被引用造成冲突

解决办法:

需要卸载不用的包 :pip uninstall pytest-allure-adaptor

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值