专栏首页从零开始学自动化测试pytest文档29-allure-pytest(最新最全,保证能搞成功!)

pytest文档29-allure-pytest(最新最全,保证能搞成功!)

前言

之前写了个pytest的allure相关的教程,只是停留在环境搭建完成,后续一直没用,小编一直不喜欢这种花里胡哨的报告。 没办法,领导就喜欢这种,小伙伴们也喜欢,所以还是得把allure用起来,年底了,给领导一个漂亮的报告,也好加鸡腿 之前用的是pytest-allure-adaptor插件,一年多前写的了,很古老了,跟不上时代了,不能吸引当代的小青年,这里用最新的allure-pytest,符合当代小青年的口味。

allure-pytest 环境准备

windows环境相关:

python 3.6版本 pytest 3.6.3版本 allure-pytest 2.8.6 最新版

使用pip安装pytest和allure-pytest,加上—index-url地址,下载会快一些

pip install pytest==3.6.3 —index-url https://pypi.douban.com/simple pip install allure-pytest==2.8.6 —index-url https://pypi.douban.com/simple

安装完成之后,打开一个你之前写的pytest脚本,看能不正常使用,如果报错:AttributeError: module ‘allure’ has no attribute ‘severity_level’ 这个是之前 pytest-allure-adaptor 这个插件与 allure-pytest 不能共存,卸载掉 pytest-allure-adaptor

pip uninstall pytest-allure-adaptor

allure命令行工具

allure是一个命令行工具,需要去github上下载最新版https://github.com/allure-framework/allure2/releases

下载完成之后,解压到本地电脑

把bin目录添加到环境变量Path下

用例demo

conftest.py内容

import pytest

@pytest.fixture(scope="session")
def login():
    print("用例先登录")

test_allure_demo.py内容

import allure
import pytest

@allure.step("步骤1:点xxx")
def step_1():
    print("111")

@allure.step("步骤2:点xxx")
def step_2():
    print("222")

@allure.feature("编辑页面")
class TestEditPage():
    '''编辑页面'''

    @allure.story("这是一个xxx的用例")
    def test_1(self, login):
        '''用例描述:先登录,再去执行xxx'''
        step_1()
        step_2()
        print("xxx")

    @allure.story("打开a页面")
    def test_2(self, login):
        '''用例描述:先登录,再去执行yyy'''
        print("yyy")

运行用例

cd到test_allure_demo.py所在的目录文件,命令行执行

pytest —alluredir ./report/allure_raw

D:\soft\code\xuexipytest>pytest --alluredir ./report/allure_raw
============================= test session starts =============================
platform win32 -- Python 3.6.0, pytest-5.3.1, py-1.5.4, pluggy-0.13.1
rootdir: D:\soft\code\xuexipytest
plugins: allure-pytest-2.8.6, forked-0.2, html-1.19.0, metadata-1.7.0, repeat-0.7.0, xdist-1.23.2
collected 9 items

case\test_allure_demo.py ..                                              [ 22%]
case\test_x.py ......                                                    [ 88%]
case\test_y.py .                                                         [100%]

============================== 9 passed in 0.21s ==============================

执行完成后,在当前目录下,report目录会生成一个allure_raw的原始文件,这个只是测试报告的原始文件,不能打开成html的报告

打开html的报告需要启动allure服务,启动命令如下

allure serve report/allure_raw

启动服务,它会自动给个端口,直接用默认浏览器打开了

D:\soft\code\xuexipytest>allure serve report/allure_raw
Generating report to temp directory...
Report successfully generated to C:\Users\dell\AppData\Local\Temp\6056757827461248074\allure-report
Starting web server...
2019-12-08 00:41:09.921:INFO::main: Logging initialized @2228ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://192.168.1.125:35346/>. Press <Ctrl+C> to exit

查看报告

浏览器上打开的报告内容

点 EN 按钮可以查看中文报告

打开测试套件,可以查看报告的详情,显示的还是很详细的

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang),作者:上海悠悠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pytest文档32-allure描述用例详细讲解

    pytest+allure是最完美的结合了,关于allure的使用,本篇做一个总结。 allure报告可以很多详细的信息描述测试用例,包括epic、featur...

    上海-悠悠
  • pytest文档13-allure2生成html报告(史上最详细)

    allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示...

    上海-悠悠
  • jenkins学习8-生成Allure报告(Allure Jenkins Plugin)

    jenkins上集成allure的报告才是高大上的,jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查...

    上海-悠悠
  • pytest文档32-allure描述用例详细讲解

    pytest+allure是最完美的结合了,关于allure的使用,本篇做一个总结。 allure报告可以很多详细的信息描述测试用例,包括epic、featur...

    上海-悠悠
  • Pytest框架集成Allure定制测试报告详解(一)

    Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。下...

    橙子探索测试
  • 装饰器叠加

    在使用pytest+allure进行自动化脚本开发的时候,在case头部需要增加很多装饰器才能使报告按照预期格式展示

    zx钟
  • 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)

    宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的re...

    北京-宏哥
  • QtCreator配置环境变量

    Qt君
  • RabbitMQ(二) ——工作队列

    RabbitMQ(二)——工作队列 (原创内容,转载请注明来源,谢谢) 一、概述 工作队列模式(work queue),是有多个消费者的情况下,可以共同消费队...

    用户1327360
  • 手把手教你三步完成测试监控系统搭建

    笔者所在的项目组有多个测试环境,偶尔会出现由于程序错误导致负载飙升或日志打满磁盘的问题。基于早发现、早治疗的原则,我们可以构建一个web应用,从而对服务器的负载...

    测试开发社区

扫码关注云+社区

领取腾讯云代金券