栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytest+allure生成测试报告笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest+allure生成测试报告笔记

一、环境搭建

简介

python 主流自动化测试报告插件有三个:HTMLTestRunner、BeautifulReport 和 Allure。HTMLTestRunner是一个比较古老的报告模板,界面也不是很好看。BeautifulReport 界面很简洁,看起来也很直观,是一款比较不错的报告插件。如果你想提升一下你的level,让你的自动化测试报告变得高大上,那么请选择 Allure 。

Allure 是一款轻量级的开源自动化测试报告生成框架。它支持绝大部分测试框架,比如 TestNG、Junit 、pytest、unittest 等。本文主要介绍 pytest 框架结合 Allure 生成 格式统一、美观的 测试报告。

1.1 Allure 下载安装

Allure 下载最新版本:https://github.com/allure-framework/allure2/releases

下载完成之后,解压到 pytest 目录中。然后设置环境变量,简单一点就是进入 allure-2.13.0bin 目录执行 allure.bat 。cmd 输入 allure 查看环境变量是否设置成功。

1.2 pytest安装
pip3 install pytest
1.3 allure-pytest安装

下载 allure-pytest 插件,用来生成 Allure 测试报告所需要的数据。

pip3 install allure-pytest
二、案例编写

场景:测试一个简单的登录方法

# -*- coding: utf-8 -*-
# @Time    : 2021/10/10 14:44
# @Author  : 成文武

import pytest
import allure
import os

def login_method(username,password):
    '''
    被测登录函数
    :param username:
    :param password:
    :return:
    '''
    if username=='admin' and password=='admin':
        return {"status":1,"msg":"login successs"}
    elif username=='admin' and password!='admin':
        return {"status":0,"msg":"password error"}
    elif username!='admin' and password=='admin':
        return {"status":0,"msg":"username error"}
    else:
        return {"status":0,"msg":"login fail"}

def test_login_case1():
    '''
    用例1:用户名正确,密码错误
    :return:
    '''
    result=login_method("admin","123")
    assert result["msg"]=="password error"

def test_login_case2():
    '''
    用例2:用户名错误,密码正确
    :return:
    '''
    result=login_method("zhangsan","admin")
    assert result["msg"]=="username error"

def test_login_case3():
    '''
    用例3:用户名错误,密码错误
    :return:
    '''
    result=login_method("jack","123")
    assert result["msg"]=="login fail"

def test_login_case4():
    '''
    用例4:用户名正确,密码正确
    :return:
    '''
    result=login_method("admin","admin")
    assert result["msg"]=="login successs"

三、测试报告生成

命令行执行以下命令:

#1 生成报告所需数据
pytest allure-demo.py --alluredir ./temp_report
#2 生成测试报告
allure generate ./temp_report -o ./report --clean
#3 渲染报告并访问
allure open report

测试报告效果:

四、问题回顾总结

问题1:浏览器打开allure-report文件夹里index.html测试报告页面,看不到实际内容,如图:

原因分析:实际内容需要allure进行渲染后才能看到

解决办法:allure使用了两种方式来渲染页面。分别是allure open 和 allure serve。前者用于在本地渲染和查看结果,后者用于在本地渲染后对外展示结果。这里我们使用allure open。运行命令 allure open allure-report即可自动打开浏览器展示渲染好的结果。这里的allure-report为allure generate生成的结果所在目录。

问题2:生成的allure测试报告中,如何看到执行步骤信息?

还没有找到解决方案

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号