当前位置: 首页 > news >正文

自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目

相关文章

  • [ >.<] 自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
  • [ >.<] 自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
  • [ >.<] 自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
  • [ >.<] 自动化测试项目学习笔记(四):Pytest介绍和使用
  • [ >.<] 自动化测试项目学习笔记(五):Pytest结合allure生成测试报告

文章目录

  • 学习说明
  • 使用须知
  • allure用例描述
  • allure运行
  • 运行结果
  • 重构项目注意事项

学习说明

这篇博客主要是为了学习pytest和allure的使用,通过allure可以生成非常漂亮的测试报告。

使用须知

安装:pip install allure-pytest
下载zip包:https://github.com/allure-framework/allure2/releases/tag/2.13.1(下载之后解压缩,点击allure.bat并添加path路径)
官方文档:https://docs.qameta.io/

allure用例描述

使用方法参数值参数说明
@allure.epic()epic描述敏捷里面的概念
@allure.feature()模块名称功能点的描述,往下是story
@allure.story()用户故事用户故事,往下是title
@allure.title()用例的标题重命名html报告名称
@allure.testcase()测试用例的链接地址对应功能测试用例系统里面的case
@allure.issue()缺陷对应缺陷管理系统里面的链接
@allure.description()用例描述测试用例描述
@allure.step()操作步骤测试用例步骤
@allure.severity()用例等级blocker、critical、normal、minor、trivial
@allure.link()链接定义一个链接,在测试报告展现
@allure.attachment()附件报告添加附件

allure运行

import allure
import pytest

@pytest.fixture(scope="session")
def login():
    print("请先登录")

@allure.step("步骤1:点击")
def step1():
    print("step1")

@allure.step("步骤2:上传")
def step2():
    print("step2")

@allure.feature("编辑页面")
class TestEditPage():
    # 编辑页面
    @allure.story("这是一个xxx的用例")
    def test_1(self, login):
        # 用例描述:先登录,再去执行xxx
        step1()
        step2()
        print("xxx")

    @allure.story("打开a页面")
    def test_2(self, login):
        # 用例描述:先登录,再去执行yyy
        print("yyy")

if __name__ == '__main__':
    pytest.main(["--alluredir", "./reports", "test_06.py"])

在终端程序目录下执行以下语句即可在当前目录下生成一个reports的文件,下面就是我们需要的测试报告

pytest --alluredir ./reports testcases/pytest/test_06.py

运行结果

生成报告之后我们可以通过
allure serve ./reports在终端运行,可自动弹出一个allure报告结果。
在这里插入图片描述

重构项目注意事项

在这里插入图片描述

相关文章:

  • 计算机网络习题答案
  • js中的‘==‘和‘===‘
  • 一起来部署项目-采购一台云服务器
  • 【老生谈算法】matlab实现抽样定理算法源码——抽样定理
  • [从0开始机器学习]4.线性回归 正规方程
  • RayVentory以改进IT的分析,RayVentory原始数据之间轻松切换
  • Oracle 递归案例
  • Python编程 print输出函数
  • WordPress JSON REST API OAuth 1.0 认证获取Authorization Basic 码+Python api 创建文章(一)
  • 力扣 每日一题 1235. 规划兼职工作【难度:困难,rating: 2022】(动态规划+二分查找)
  • 数据挖掘-模型的评估(四)
  • 开源远程桌面软件_RustDesk_(可自建远程桌面服务器)
  • 【Django框架】——11 Django模型——02创建模型类
  • 【考研】暨南大学 848 操作系统简答题(2020-2022)
  • docker-compose部署hive、kafka服务
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Apache的基本使用
  • dva中组件的懒加载
  • HashMap ConcurrentHashMap
  • java8-模拟hadoop
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js递归,无限分级树形折叠菜单
  • Mysql数据库的条件查询语句
  • spring boot 整合mybatis 无法输出sql的问题
  • WebSocket使用
  • 测试开发系类之接口自动化测试
  • 浅谈web中前端模板引擎的使用
  • 我从编程教室毕业
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​Linux·i2c驱动架构​
  • ​批处理文件中的errorlevel用法
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C#)获取字符编码的类
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (阿里云万网)-域名注册购买实名流程
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (算法设计与分析)第一章算法概述-习题
  • (五)c52学习之旅-静态数码管
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .describe() python_Python-Win32com-Excel
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET命名规范和开发约定
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET性能优化(文摘)
  • @GetMapping和@RequestMapping的区别
  • [ 数据结构 - C++]红黑树RBTree
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [20150629]简单的加密连接.txt
  • [BZOJ] 2006: [NOI2010]超级钢琴