allure总结--解决版本不相容,没有trend(生成原始报告+复制history后在一起生成新报告)+jenkins集成

问题一:使用allure生成测试报告报错:AttributeError: 'str' object has no attribute 'isascii'

出现 :同样的脚本使用 pytest 的 --html=report/report.html 时没有报错,但当我把配置改成 --alluredir ./report 后,就报属性错误,提示没有 isascii 这个属性。isascii 是 ASCII 码相关的判断方法,可以确定是解码问题。

原因 :我的 Python 版本是 3.6,而代码尝试调用了 Python 3.7+ 才引入的 str.isascii() 方法,因此报错。深层原因是:pytest-allure 在收集测试节点内容时,需要处理包含中文的内容,而 isascii() 是 Python 3.7 中用于对字符串进行解码判断的方法,Python 3.6 中还没有这个方法。

解决方法

方法一:升级 Python 版本。下载新版 Python 安装即可,同时还需配置环境变量。

方法二:将 pytest 版本降级到与 Python 3.6 兼容的版本:pip install "pytest<7.0" -U。可能还需配合 allure-pytest 版本一起降级,同时 allure 也需要与 allure-pytest 版本相容,所以可能引起连锁反应。

问题二:使用allure生成测试报告,没有趋势怎么办-三步解决。

问题:allure生成的测试报告TREND趋势中没有数据。

1、正常执行pytest,且通过generate生成html报告。打开index.html报告TREND趋势总没有数据。

原因:Allure 本身不是数据库,它不会自动记录历史。所以需要自己手动复制历史数据然后重新生成带有趋势的报告。

第一步:执行后生成原始数据

1、新增文件夹:allure-results

2、修改配置文件:--alluredir ./allure-results

3、执行pytest,生成json文件

**第二步:复制report中的历史数据到allure-results,历史数据中含有以前执行的测试结果。

  1. 使用命令将history中的文件都复制到新文件夹中xcopy /E /I .\report\html\history .\allure-results\history
    • xcopy 是 Windows 专为"复制文件夹(目录)
    • /E:复制所有子文件夹,包括空文件夹
    • /I:如果目标文件夹(.\allure-results\history)不存在,/I 会直接告诉系统"这是一个文件夹,请自动创建",不会弹窗问你是文件还是目录。如果没有 /I,CMD 会卡住让你手动输入 D(目录)或 F(文件)
  2. 将历史数据和新数据一起生成报告:allure generate ./allure-results -o ./allure-report --clean
    • 新文件夹allure-results中的json文件和历史数据一起生成新的报告,将他放到新的报告文件夹allure-report。

      结果-带有趋势的html报告

问题三:jenkins集成+allure

  1. 启动jenkins;
  2. jenkins上安装allure:插件管理中安装allure
  3. 配置allure插件:配置别买和allureCommandlines的根目录
  4. python上,将代码上传到gitee仓库中
  5. 构建任务:构建freestyle项目
  6. 配置任务:
    • 源码管理来自gitee上代码;
    • 定时执行:H 8 * * * 早上8点定时执行
    • 命令:windows命令窗口输入:pytest
    • 报告:allure report,设置报告路径
    • 邮件通知:设置发件收件人以及触发动作;
  7. 构建任务-得到测试报告
相关推荐
小柯南敲键盘1 小时前
跨马翻译:图片翻译软件批量处理,跨境电商视频字幕AI智能抠图
人工智能·python·音视频
BYSJMG1 小时前
计算机毕业设计选题推荐|【基于大数据的植被光谱特征与环境因子关联分析及可视化】Spark+K-Means
大数据·python·信息可视化·数据分析·spark·kmeans·课程设计
茶栀(*´I`*)1 小时前
Python网络机器人入门:从Robots协议、网页结构到Requests库的基础实践
网络·python·机器人
SunnyDays10111 小时前
如何使用 Python 添加和编辑 Excel VBA 宏(无需安装 Excel)
开发语言·python·excel·vba
2601_962295991 小时前
Python+Appium 自动化测试:从基础语法到 PO 模式设计,构建稳定测试框架
自动化测试·python·appium·测试框架·po模式
开源量化GO1 小时前
先确认策略想法能不能变成规则
人工智能·python
拜托多多指教1 小时前
【Pytest框架学习】分层架构
python·pytest
zhanghaha13141 小时前
Python进阶教程:24_Markdown 转 HTML 零基础超详细教程
开发语言·python·html
2601_962299881 小时前
python脚本如何单元测试
python·单元测试·pytest·unittest·mock对象