问题一使用allure生成测试报告报错AttributeError: ‘str’ object has no attribute ‘isascii’出现同样的脚本使用 pytest 的--htmlreport/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 pytest7.0 -U。可能还需配合 allure-pytest 版本一起降级同时 allure 也需要与 allure-pytest 版本相容所以可能引起连锁反应。问题二使用allure生成测试报告没有趋势怎么办-三步解决。问题allure生成的测试报告TREND趋势中没有数据。1、正常执行pytest且通过generate生成html报告。打开index.html报告TREND趋势总没有数据。原因Allure 本身不是数据库它不会自动记录历史。所以需要自己手动复制历史数据然后重新生成带有趋势的报告。第一步执行后生成原始数据1、新增文件夹allure-results2、修改配置文件–alluredir ./allure-results3、执行pytest生成json文件**第二步复制report中的历史数据到allure-results历史数据中含有以前执行的测试结果。使用命令将history中的文件都复制到新文件夹中xcopy /E /I .\report\html\history .\allure-results\historyxcopy 是 Windows 专为“复制文件夹目录/E复制所有子文件夹包括空文件夹/I如果目标文件夹.\allure-results\history不存在/I 会直接告诉系统“这是一个文件夹请自动创建”不会弹窗问你是文件还是目录。如果没有 /ICMD 会卡住让你手动输入 D目录或 F文件将历史数据和新数据一起生成报告allure generate ./allure-results -o ./allure-report --clean新文件夹allure-results中的json文件和历史数据一起生成新的报告将他放到新的报告文件夹allure-report。结果-带有趋势的html报告
