暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

pytest系列——精美的测试报告allure

迅捷小莫 2021-09-02
1784

Pytest

在上篇文章,我们介绍了pytest-html,那么本篇文章带来allure测试报告框架的使用教程,这个allure报告目前发现是市面上最精美的测试报告之一了,功能非常的多吗,也非常的好看,值得一试!

01

介绍

allure官网 :

http://allure.qatools.ru/

安装包下载地址:

https://github.com/allure-framework/allure2/releases


allure

allure是一个轻量级、灵活的、支持多语言的测试报告工具,基于java语言开发,支持java,python,javascript,ruby,php等多种语言,同时拥有jenkins的相关插件支持,可以很好的运用到持续集成中。

02

allure工具环境配置

在使用allure之前,我们必须先要安装java jdk环境(本篇文章不介绍,请自行百度)和 allure环境。

01

allure下载

下载地址:

https://github.com/allure-framework/allure2/releases


      我们直接下载allure.zip即可:

下载好之后进行解压 ,我们需要给其配置环境变量(Mac版本,Windows类似),解压之后如下:

我们注意这个bin目录,需要把这个路径配置到环境变量中,也就是我们的bash_profile文件,首先我们打开bash_profile:

    vim ~/.bash_profile

    接着使用vim的输入模式,加上一行代码:


    接着使用:wq保存一下文件,并且使用下面的命令使其生效:

      source ~/.bash_profile

      那么现在我们可以确认一下allure环境是否配置好了,输入allure看看:

      如果出现和上面一样的提示,那么恭喜,此时allure环境已经配置完毕了。

      03

      allure-pytest生成测试结果

      allure-pytest是pytest的第三方插件,为了支持allure实现的一个插件,他可以帮助我们保存用例的执行结果,供allure使用。


      安装:

        pip install allure-pytest

        安装完成了之后,我们使用pytest -h命令查看一下,会多出一些命令选项:

        在使用pytest执行测试用例的时候,使用命令:

          pytest --alluredir=./allure-results

          当然在此之前,我们还要有测试用例:

            import pytest




            def test_001():
               print('test_001')




            def test_002():
               print('test_002')




            def test_003():
               print('test_003')




            def test_004():
               print('test_004')

            运行命令后,可以发现当前目录下多了一个 allure-results文件夹:

            这里面大概存的就是一些测试的结果数据,有了数据后,我们就可以利用allure来生成测试报告。

            04

            allure生成静态测试报告 

            在有了上面的测试数据后,很简单,我们只需要一条命令就可以生成测试报告了:

               allure generate ./allure-results/ -o ./allure-report/ --clean

              generate后面跟测试结果数据的目录,-o跟输出测试报告的目录,--clean代表每次清空报告数据重新生成。

              运行完后 ,发现目录下又多了一个文件夹:

              可以看到,和pytest-html一样 ,它也拥有很多的这个样式文件,同时,他还有其他的一些比如说存储数据的文件夹data,存储历史记录的history等等,功能非常的多,并且东西也非常的多。我们尝试打开一些index.html试试看:

              可以看到现在测试报告已经完美生成了,我们可以查看一下具体的执行记录:

              05

              allure在线报告

              如果你不想生成大量的静态测试报告资源,或者想在局域网上把测试报告共享给其他人看,那么allure也提供了在线的测试报告,我们需要使用如下命令:

                allure serve ./allure-results  

                allure serve可以指定需要生成报告的测试结果数据,然后生成一份在线的测试报告,可以直接浏览器访问:

                  (venv) zhangyingkai@kaikaideMacBook-Pro f_pytest % allure serve ./allure-results                                
                  Generating report to temp directory...
                  Report successfully generated to var/folders/jg/jbnxsfzx3gv_5vbyfmc1lq5w0000gn/T/6115195889032489317/allure-report
                  Starting web server...
                  2021-08-12 15:14:58.083:INFO::main: Logging initialized @2859ms to org.eclipse.jetty.util.log.StdErrLog
                  Server started at <http://127.0.0.1:58622/>. Press <Ctrl+C> to exit

                  命令行启动后,会自动打开浏览器:

                  可以看到,在我本地的localhost58622端口已经运行了一份测试报告。

                  完美end.

                  06

                  结尾

                  allure的功能还有很多很多,比如它支持一些截图,支持一些装饰器的使用,可以对我们用例的步骤进行拆分,还可以给用例打标记之类的功能,我们就不放在本篇介绍了,就留给大家自行学习,小提莫在这里抛砖引玉一下了。

                  see you later.


                  文章转载自迅捷小莫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论