微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytest+allure生成漂亮的可视化测试报告

前言:

最近在折腾web自动化,使用的是Python+selenium,使用pytest框架自带的报告不太美观,偶然间了解到Allure是免费开源的报告框架,之前在使用龙测自动化时有接触过这个框架,很是方便和美观,于是自己做了个demo,供参考。

Allure介绍:

Allure框架是一种灵活的轻量级多语言测试报告工具,它不仅能够以简洁的web报告形式显示已测试的内容,而且允许参与开发过程的每个人从测试的日常执行中提取最大限度的有用信息。支持使用的语言有:

  • Java
  • Python
  • JavaScript
  • Ruby
  • Groovy
  • PHP
  • .Net
  • Scala

环境说明:

win7系统

jdk 1.8

Python 3.7.7

pytest-5.4.3

plugins: allure-pytest-2.8.16

allure-commandline 2.11.0

安装步骤:

1.这里需要Python环境,自行安装Python库,配置好环境变量即可(因为我已经安装好了jdk 1.8,故此处省略,没有安装的小伙伴先要安装和配置好jdk)

2.Allure依赖于Pytest框架,则需要先安装Pytest和相关包(本次测试用的是win7系统):

  打开cmd,分别输入pip install pytest,pip install allure-pytest,安装成功即可

  注:网上很多资料说要安装pytest-allure-adaptor,但是这个是allure 1用的,现在已经很少用了而且官方已不维护,我们用的是Allure 2,不需要安装这个插件

3.下载allure-commandline,可以到git上下载(版本可以选择新一点的,目前最新的版本是2020年4月的2.13.3版本)

下载地址:https://github.com/allure-framework/allure2/releases

 

 下载完成后解压,得到bin目录

 

 将bin目录配置到系统变量path中

 

 配置好后,在cmd窗口中输入:allure --version,显示如下则表示安装成功

 

 

接下来可以开始进行编码了,这里用的是Pycharm:

代码截图如下:

 

 

代码如下:

import pytest
import allure
import os

@pytest.fixture(scope='function')
def login():
print("登录")
yield
print("登录完成")

@allure.feature('加入购物车')
def test_1(login):
'''将苹果加入购物车'''
print("测试用例1")

@allure.feature('加入购物车')
def test_2():
'''将橘子加入购物车'''
print("测试用例2")

if __name__ == "__main__":
# 执行pytest单元测试,生成 Allure 报告需要的数据存在 /temp 目录
pytest.main(['--alluredir', './temp'])
# 执行命令 allure generate ./temp -o ./report --clean ,生成测试报告
os.system('allure generate ./temp -o ./report --clean')

 

点击右键,选择run allure_test,如下图

 

 用浏览器打开report目录下的index.html文件

 

浏览器打开后如下图:

 

 

 如果界面显示全英文,可以设置成中文显示,如下图:

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐