一、环境搭建
简介
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.0\bin 目录执行 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测试报告中,如何看到执行步骤信息?
还没有找到解决方案
|