使用pytest生成allure报告
我正在使用pytest的allure适配器,想要生成allure报告所需的输入数据。但是我没有办法生成任何XML文件。当我用命令py.test sample.py执行这个py文件时,它确实创建了一个pycache目录。接着我执行了“allure generate -v 1.3.9 C:\allurereports”(这是我放置sample.py的目录)。它确实生成了一个allure的HTML报告,但测试用例的数量是0,里面没有任何细节。
这个sample.py(和示例中给的一样)
import allure
@allure.feature('Feature1')
@allure.story('Story1')
def test_minor():
assert False
@allure.feature('Feature2')
@allure.story('Story2', 'Story3')
@allure.story('Story4')
class TestBar:
# will have 'Feature2 and Story2 and Story3 and Story4'
def test_bar(self):
pass
这是我使用的py.test命令: py.test sample.py --allure_features=feature1,feature2
有没有人能帮我一下,怎么从这个文件生成allure报告?需要执行哪些命令?
5 个回答
现在你必须使用allure-command-line来生成html报告,因为allure-cli这个工具已经不再更新了。
这是我找到的一个有效的方法 -
python3 -m pytest [your_test_class_name] --alluredir \Report
然后在你保存报告的地方执行下面这行代码 -
python3 -m allure serve \Report
这样就会在你默认的浏览器中打开这个报告。
你需要指定一个包含测试数据的目录(也就是存放-testsuite.xml文件的地方),而不是测试目录。
你可以使用 py.test --alluredir [path_to_report_dir]
来指定这个目录。
另外,确保你使用的是正确版本的 allure(最新的 pytest 适配器只支持 allure 1.4.*)。
想了解更多信息,可以查看 https://github.com/allure-framework/allure-python 和 https://github.com/allure-framework/allure-cli
生成报告的方式非常简单,使用 allure 就可以:
首先,安装 allure:
allure-pytest 2.6.0
allure-python-commons 2.6.0
接下来,如果你无法生成报告,可以按照以下步骤操作:
(使用 pytest)
pytest test_xyz.py --alluredir=path_where_you_want_to_save_reports
allure serve report_path
如果还是提示 allure 不是一个识别的命令(blah -blah),那么可以用 npm 插件来安装 allure,使用下面的命令:
npm install -g allure-commandline --save-dev
然后再按照步骤 (2) 操作,这样就会启动一个服务器,你就可以看到 allure 的报告了。
Lavanya。
我来给你讲讲怎么生成自动测试的 allure 报告。
首先,安装 pip。你需要下载 get-pip.py 文件,然后运行 python get-pip.py 来安装。
接下来,通过 pip 安装 pytest 和 pytest-allure-adaptor。运行 python -m pip install pytest allure-pytest。
生成自动测试的 allure xml 报告。运行 python -m pytest sample.py --alluredir <某个目录>。
在 <某个目录> 下会出现 xml 格式的自动测试报告,里面包含了 sample.py 测试的结果。接下来,我们用 allure-cli 工具来生成漂亮的 html 报告。
安装 allure-cli。下载 最新版本的 allure-cli。注意,allure-cli 需要 Java 环境。它不需要安装,只需 解压后直接使用。
生成 html 报告。在解压后的文件中找到 allure(Windows 系统下是 allure.bat)。运行 allure.bat generate -o <某个目录> -v 1.4.0 <某个目录>。
在 <某个目录> 中找到 index.html 文件,用浏览器打开它。
*注意 <某个目录> 在所有步骤中都是相同的。