python-pytestAllure使用基础篇

 

George555     公众号:测试江湖路 3天前

如果这些内容对你有帮助,也可以打开微信扫一扫,加关注:

    接上一篇文章pytest使用,本篇整理下定制报告allure的环境部署及命令使用。先来一张最终效果图吧:

python-pytestAllure使用基础篇_第1张图片

    引言:

    Allure是什么呢?

    allure是一款开源的报告生成框架。它支持java、python语言。allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令将xml/json文件转换成html形式呈现出来。

    Allure结合python使用主要分两部分,一部分是 allure-pytest插件;一部分是allure-command。command包用于将allure-pytest插件生成的json文件转换成html报告。

一、Allure-command安装:

    allure-command框架的下载:https://github.com/allure-framework/allure2/releases/tag/2.12.1 即把xml/json转换为html的Command Tool工具

    下载解压后如下图:

python-pytestAllure使用基础篇_第2张图片

    说明:Allure-command框架是java写的,所以使用前先安装java8.0。为了在命令行方便使用,请把Allure-command解压包下bin目录的加载到系统环境变量中。

二、Allure-command命令方式使用

    1.bin目录下有两个文件allure 和 allure.bat,前者用于linux平台,后者用于windows平台。

    2.win环境下解压后,需要把bin目录加入到系统环境变量path中,方便命令行执行只需要输入allure即可。

    3.Allure常用命令有: ---- 可以用allure --help 获取

    allure [options] [command] [command options]

    [options]可以为:

        --help:帮助信息,查询参数使用

        -q或--quite:进入allure的quiet模式,默认不进入

        -v或--verbose:进入allure的verbose模式,默认不进入

        --version:查询allure版本号

    [command]可以为:generate/serve/open/plugin

    [generate]:直接在本地生成html报告文件,如下图:

    generate的参数有:

        -c或--clean:生成新报告前,先清空报告目录

        --config:配置allure-command执行命令的路径,若配置则覆盖--configDirectory和--profile参数值。

        --configDirectory:配置allure-command执行命令的目录,默认ALLURE_HOME目录

        --profile:allure-command的配置文件

        -o或--report-dir或--output:生成allure报告的目录,默认allure-report目录

        注意:用gengrate生成的报告中,index.html文件中数据都不显示,需要再执行下allure open命令渲染后才能显示。如下图:

python-pytestAllure使用基础篇_第3张图片

    [serve]:启动一个web服务版的报告,使用url可以直接访问,如下图:

python-pytestAllure使用基础篇_第4张图片

    注意:这样默认生成的报告会放在系统用户临时文件中

    serve的参数有:

        --config:同generate

        --configDirectory:同generate

        -h或--host:web服务版ip

        -p或--port:web服务版端口

        --profile:同generate

    [open]:在web上直接打开generate生成的报告,常用于配合generate来使用。

    open的参数有:

        -h或--host:web服务版ip

        -p或--port:web服务版端口

【示例1】:   generate+open

 在python中pytest文件方法:pytest.main(['--alluredir', './temp'])#在命令行中执行方式allure generate ./temp -o ./report --cleanallure open report --host 192.168.0.104 --port 8800

【示例2】:   serve

 在python中pytest文件方法:pytest.main(['--alluredir', './temp'])# 在命令行中执行方式allure serve ./temp --host 192.168.0.104 --port 8813

    注意:

    1、generate 和serve命令中要加上生成测试报告数据文件所在目录temp,否则最终生成的html报告中会无数据;

    2、而open中要加入generate生成后的报告report目录;

    3、由示例1和2可知serve一条命令的功能等于是generate+open的功能

    4、使用generate、serve时注意端口占用问题,运行一次再次运行时候会报错:

java.io.IOException: Failed to bind to HelloWorld/192.168.0.104:8800

     所以多次运行注意修改端口号。

三、allure-pytest插件安装

    使用pip命令:pip install allure-pytest

    说明:

    a.allure-pytest 插件是生成测试报告数据的插件包,使用它可以配合pytest在执行完用例后生成json的测试报告数据文件

    b.有了json的测试报告数据文件,就可以利用allure-command框架来把多个json文件转换成html的测试报告文件了。如下图:执行allure run后的报告文件:

python-pytestAllure使用基础篇_第5张图片

    C.如果你用的不是allure-pytest插件而是pytest-allure-adapter插件,则这里生成的不是json文件,而是xml文件。

    本次先整理到这里,下一篇将综合整理下在python-pytest代码中怎么加入allure,让测试报告更加丰富起来。

########往期相关文档传送门########

python-pytest使用(1)-基础

python-pytest使用(2)-fixture

python-pytest使用(3)-conftest

python-pytest使用(4)-多线程多进程运行

 

 

 

 

#####欢迎大家加群交流####

QQ:464314378

微信群请先加群主微信,群主会拉各位小伙伴进群,注意添加备注。

你可能感兴趣的:(Python,Pytest,自动化测试)