python allure报告_刚测试完 Python 代码,奉上一份美美的报告

原标题:刚测试完 Python 代码,奉上一份美美的报告

文 | Crisimple出处 | 掘金

严格意义上讲 Allure 不算是测试框架,但是它是生成漂亮测试报告的开源工具,搭配 Pytest 测试框架食用更搭。

也就是说 Allure 是在 Pytest 执行完生成的测试数据的基础上,对测试数据进行处理统计,生成格式统一、美观的测试报告。

一、Allure初识 1. 什么是 Allure

Allure 是由Qameta Software团队开源的一款旨在于解决让每个人能更容易生成并更简洁阅读的测试报告框架。它支持大多数的测试框架,如:Pytest、TestNG等,简单易用便于集成。

2. Allure环境搭建

工欲善其事必先利其器,Allure 框架基于其他的测试框架使用,例如:Pytest。

# windows env

source env / s / activate

# 安装 pytest 和 pytest-allure-adaptor

pip3 install pytest

# Allure Pytest Adaptor是Pytest的一个插件(比较旧的一个插件)

# allure-pytest 比较新一点,建议使用

pip3 install pytest - allure - adaptor

pip3 instal allure - pytest

# 安装Allure工具,主要是讲pytest的测试数据转换成HTML数据

# linux环境安装

# 现将allure源添加到linux的源里

sudo apt - add - repository ppa : qameta / allure

# 更新本地源

sudo apt - get update

sudo apt - get install allure

# 上面的方法不行的话,用下面的方法

curl - o allure - 2.6 . 0.tgz - Ls https : //dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.tgz

sudo tar - zxvf allure - 2.6 . 0.tgz - C / opt /

sudo ln - s / opt / allure - 2.6 . 0 / bin / allure / usr / bin / allure

allure -- version

# Windows 下安装就麻烦点,可以使用 Scoop 工具(Chocolatey工具不知道为什么安装不了),不管了官方推荐使用 Scoop 安装就使用 Scoop 安装得了

# 检查sccop是否安装成功

scoop -- version

# 安装 allure

scoop install allure

# 查看allure是否安装成功

allure -- version二、Pytest集成Allure

Allure要生效需要在测试文件和测试通配文件(conftest.py)中配置 allure。

1. allure的特性

Aullre的几个特性:

@allure . feature # 用于定义被测试的功能,被测产品的需求点

@allure . story # 用于定义被测功能的用户场景,即子功能点

with allure . step # 用于将一个测试用例,分成几个步骤在报告中输出

allure . attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据信息

@pytest . allure . step # 用于将一些通用的函数作为测试步骤输出到报告,调用此函数的地方会向报告中输出步骤2. pytest集成allure

测试文件示例,生成测试数据,进一步生成 allure 测试报告

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

"""

@File : test_allure_shopping.py

@Time : 2019/12/1017:34

@Author : Crisimple

@Github : https://crisimple.github.io/

@Contact : Crisimple@foxmail.com

@Desc : None

"""

import pytest

import allure

# allure.feature 定义功能

@allure . feature ( "报告购物车" )

class TestAllure ( object ):

# 定义用户场景

@allure . story ( "加入购物车" )

def test_add_goods_cart ( self ):

# 调用步骤函数

# 将测试用例分成几个步骤,将测试步骤打印到测试报告中,步骤二

with allure . step ( "浏览商品" ):

# allure.attach--打印一些附加信息

allure . attach ( "商品1" , "C" )

allure . attach ( "商品2" , "C" )

# 步骤三

with allure . step ( "加入商品" ):

allure . attach ( "商品1" , 2 )

allure . attach ( "商品2" , 3 )

# 步骤四

with allure . step ( "校验商品" ):

allure . attach ( "商品1加入成功" , "共2个" )

allure . attach ( "商品2加入失败" , "共0个" )

@allure . story ( "继续购物" )

def test_continue_shopping_cart ( self ):

allure . attach ( "商品3" , 4 )

print ( "继续购物成功" )

@allure . story ( "减少商品失败" )

def test_edit_shopping_cart ( self ):

login ( "crisimple" , "123" )

assert 0

@pytest . mark . skip ( reason = "删除购物车不执行" )

@allure . story ( "删除购物车" )

def test_delete_shopping_cart ( self ):

login ( "crisimple" , "123" )

print

# 将函数作为一个步骤,调用此函数时,报告中输出一个步骤,步骤名称通常时函数名,这样的函数通常称为步骤函数

@allure . step ( "用户登录" )

def login ( user , passwd ):

print ( user , passwd )

print ( "登录成功" )

else :

print ( user , passwd )

print ( "登录失败,请重新尝试" )三、Allure生成测试报告 1. pytest生成测试报告

# 执行全部的测试用例

pytest ./ Allure / test_allure_shoping . py -- alluredir ./ Allure / result /

# 执行指定features或者stories执行一部分测试用例,比如执行‘报告购物车’下的‘加入购物车’子功能的测试用例

pytest ./ Allure / test_allure_shopping . py -- allure_features = "报告购物车" -- allure_stories = "加入购物车" ../ Allure / part_result /

2. Allure生成测试报告

# 生成测试报告

allure generate ./ Alluer / result / - o ./ Allure / report / -- clean

# 打开测试报告

allure open - h 127.0 . 0.1 - p 8083 ./ Allure / report /

打开测试报告,牛皮的是可以切换中文版本

四、Allure与Jenkins结合

对于成规模的测试团队会把自动化测试部署集成到Jenkins中,构建成自动化部署。

4.1 Jenkins配置Allure

安装Allure插件

4.2 创建job

配置路径必须配置一致

source env / bin / activate

echo "**************Welcome to env**************"

echo "**************pytest create test data**************"

pytest /完整路径/ Allure / test_allure_shopping . py -- alluredir $ { WORKSPACE }/ allure - results /

echo "**************report has generated done**************"

4.3 执行工程

立即构建工程即可。

原文链接:https://juejin.im/post/5def3d64f265da33e67b3352

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值