怎么使用Pytest +魅力生成漂亮的HTML图形化测试报告

  介绍

这篇文章给大家分享的是有关怎么使用Pytest +魅力生成漂亮的HTML图形化测试报告的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

对于软件测试工作来说,测试报告是非常重要的工作产出。一个漂亮,清晰,格式规范,内容完整的测试报告,既能最大化我们的测试工作产出,又能够减少开发人员和测试人员的沟通成本。

本篇文章将介绍如何使用开源的测试报告生成框架魅力生成规范,格式统一,美观的测试报告。
通过这篇文章的介绍,你将能够:

<李>

将魅力与Pytest测试框架相结合;

<李>

如何定制化测试报告内容

<李>

执行测试之后,生成魅力格式的测试报告。

<李>

如何与詹金斯集成。

<李>

将测试环境信息展示到测试报告中。

<强> 1,魅力测试报告介绍

魅力是一款轻量级并且非常灵活的开源测试报告框架。它支持绝大多数测试框架,例如TestNG, Pytest, JUint等。它简单易用,易于集成。下面就Pytest如何与魅力集成做详细介绍。

<强> 2,Pytest框架集成魅力

Pytest是Python的单元测试框架,非常方便和易用强。烈推荐对于用Python进行测试工作的小伙伴使用这个测试框架,相比与Python自带的UnitTest好用太多太多。这篇文章我不会介绍太多Pytest测试框架的使用,今天主要是介绍如何将测试报告生成工具魅力集成到Pytest中。

<强> 2.1安装诱惑Pytest插件

allure-pytest是Pytest的一个插件,通过它我们可以生成魅力所需要的用于生成测试报告的数据。安装allure-pytest插件方法:

,美元pip  install  allure-pytest

<强> 2.2改造基于Pytest的测试用例

allure-pytest的官方文档中详细介绍了allure-pytest所具有的功能。本篇文章不会再翻译一遍,而是从实际入手,给大家介绍如何将其应用到自己的框架中。

为了使用魅力生成报告,需要在测试脚本中加入吸引力特性。而这个操作并不会对原有的测试用例逻辑产生任何变动。

直接看下面的脚本,我通过在脚本中添加注释的方式给大家解释吸引力特性的用途。比如测试脚本是test_shopping_trolley。py:

# !/usr/bin/env  python   #=utf - 8编码      import  pytest   import 诱惑         @allure.feature(& # 39;购物车功能& # 39;),#,用功能说明产品需求,可以理解为JIRA中的史诗   class  TestShoppingTrolley(对象):   @allure.story才能(& # 39;加入购物车& # 39;),#,用故事说明用户场景,可以理解为JIRA中的故事   def 才能test_add_shopping_trolley(自我):   ,,,登录(& # 39;刘春明& # 39;,,& # 39;密码& # 39;),#,步骤1,调用“一步函数”   ,,,with  allure.step(“浏览商品“):,#,步骤2步的参数将会打印到测试报告中   ,,,,,allure.attach(& # 39;笔记本& # 39;,,& # 39;商品1 & # 39;),#,附加可以打印一些附加信息   ,,,,,allure.attach(& # 39;手机& # 39;,,& # 39;商品& # 39;2)   ,,,with  allure.step(“点击商品“):,#,步骤3   ,,,,,   ,,,with  allure.step(“校验结果“):,#,步骤4   ,,,,,allure.attach(& # 39;添加购物车成功& # 39;,,& # 39;期望结果& # 39;)   ,,,,,allure.attach(& # 39;添加购物车失败& # 39;,,& # 39;实际结果& # 39;)   ,,,,,assert  & # 39;成功# 39;,==,& # 39;失败# 39;      @allure.story才能(& # 39;修改购物车& # 39;)   def 才能test_edit_shopping_trolley(自我):   ,才能通过      @pytest.mark.skipif才能(原因=& # 39;本次不执行& # 39;)   @allure.story才能(& # 39;删除购物车中商品& # 39;)   def 才能test_delete_shopping_trolley(自我):   ,才能通过         @allure.step(& # 39;用户登录& # 39;),#,将函数作为一个步骤,调用此函数时,报告中输出这个步骤,我把这样的函数叫“一步函数”   def 登录(用户,pwd):   打印才能(用户、,pwd)

上面使用了魅力的几个特性:

<李>

@allure。功能#用于描述被测试产品需求

<李>

@allure。故事#用于描述功能的用户场景,即测试需求

<李>

与魅力。用步于描述测试步骤,将会输出到报告中

<李>

魅力。附上#用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等

<李>

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

怎么使用Pytest +魅力生成漂亮的HTML图形化测试报告