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

测试老鸟总结,Allure测试报告-自动化测试详解,惊险避坑...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、Allure安装教程以及遇到的坑

安装过程:

1)安装 pytest

版本:pytest == 5.4.2

pip install pytest==5.4.2 --index-url  https://pypi.douban.com/simple

2)安装 allure-pytest

版本: allure-pytest == 2.8.16

pip install allure-pytest==2.8.16 --index-url  https://pypi.douban.com/simple

安装完成后,打开一个pytest脚本进行验证一下,如果报错:AttributeError:module ‘allure’ has no attribute…

这样的报错是之前安装的 pytest-allure-adaptor 这个插件发生了冲突,这两个插件是不能共存的,去卸掉 pytest-allure-adaptor 这个就行了 ( pip uninstall pytest-allure-adaptor)

3)安装 allure

版本:allure == 2.13.3

这是一个命令行的插件,需要去下载:

推荐下载地址之一: https://github.com/allure-framework/allure2/releases

下载后解压到自己的文件夹中;

配置环境变量

将 allure.bat 文件(图一)所在路径添加到系统的环境变量path中(图二)

在这里插入图片描述

在这里插入图片描述

4)进入cmd中执行allure命令

如果结果是下图,恭喜你搞定了:

在这里插入图片描述

如果是下图,恭喜你环境出问题了

在这里插入图片描述

因为allure是基于java环境运行的,提示的意思是JAVA_HOME的地址出问题了 ,找原因很麻烦,解决办法很简单 ,尽管你去执行java、javac、java -version都是正常的,但是执行allure就是报错的。

解决办法: 就是把java的JAVA_HOME的这个地址环境变量重新填写一下,注意最后不要有空格。如下图

在这里插入图片描述

就这个东西,然后重新打开一个cmd,再次执行allure命令。都正常了

2、Allure 自动化测试报告使用详解

allure生成的报告和其他五花八门的报告对比了一下,它的可读性是最好、最直观的。

1)Allure相关的内容

在这里插入图片描述

总共主要的就以上这些,常用的大概有一半吧 。

2)对于这其中常用的做一些使用实例

代码结构:

在这里插入图片描述

登录是一个前置操作 ,拿出来后单独存放,loging.py文件内容:

# __*__coding:utf-8 __*__import allure@allure.step("操作步骤: 登录")
def longin():'''登录操作'''print("这个是登录的接口")

conftest.py这个文件主要放一些公共的内容

# __*__coding:utf-8 __*__import pytest
from common_contion.loging import longin@pytest.fixture(scope="session")
def login_fixture():longin()print("这个是前置操作:登录")

case----test_case.py文件主要存放一些测试用例,内容如下:

# __*__coding:utf-8 __*__import pytest
import allure
from common_contion.dome_Interface import *@allure.severity("blocker")
@allure.epic("项目名称: 会所资源管理系统")
@allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html")  # 禅道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html")  # 禅道用例连接地址
@allure.feature("房间管理模块")
class Testdome1(object):def test_dome_1(self,login_fixture):'''用例一的用例描述: 我是第一个用例,我只有一个步骤'''print("第一个测试用例")jieko_dome_1()def test_dome_2(self,login_fixture):'''用例二的用例描述: 我是第二个用例,我只有一个步骤'''print("第二个测试用例")jieko_dome_2()@allure.severity("critical")
@allure.epic("项目名称: 会所资源管理系统")
@allure.feature("资源管理模块")
@allure.story("用例的标题: 对会所资源进行增、删、改、查")
@allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html")  # 禅道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html")  # 禅道用例连接地址
class Testdome3(object):def test_dome_3(self,login_fixture):'''用例三的用例描述: 我是第三个用例,我是有多个步骤;'''print("第三个测试用例")f = jieko_dome_3()f.jieko_dome_3_1()f.jieko_dome_3_2()f.jieko_dome_3_3()f.jieko_dome_3_4()

common_contion----dome_Interface.py文件主要存放用例相关的接口内容:

# __*__coding:utf-8 __*__import alluredef jieko_dome_1():'''用例描述: 用例一的接口'''print("这个是第一个用例对应的接口")def jieko_dome_2():'''用例描述: 用例二的接口'''print("这个是第二个用例对应的接口")@allure.feature("资源管理模块")
class jieko_dome_3(object):'''这个是一个模块的测试'''@allure.step("操作步骤: 新增资源个人信息")def jieko_dome_3_1(self):'''用例描述: 用例三的新增内容接口'''print("这个是第三个用例对应的接口一")@allure.step("操作步骤: 查询资源在线信息")def jieko_dome_3_2(self):'''用例描述: 用例三的查询内容接口'''print("这个是第三个用例对应的接口二")@allure.step("操作步骤: 修改资源身份信息")def jieko_dome_3_3(self):'''用例描述: 用例三的编辑内容接口'''print("这个是第三个用例对应的接口三")@allure.step("操作步骤: 删除资源全部信息")def jieko_dome_3_4(self):'''用例描述: 用例三的删除内容接口'''print("这个是第三个用例对应的接口四")

3)执行测试用例:

命令行模式执行用例

pytest --alluredir ./reopore/allure_row_1

执行结果:

在这里插入图片描述

会在工程中生成一个 /reopore/allure_row_1的文件,如图:

在这里插入图片描述

dome>allure serve reopore/allure_row_1

执行命令后将收集的数据加载到allure报告中,执行结果:

在这里插入图片描述

会自动使用默认浏览器打开报告

报告样式展示如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以上就是allure的各种装饰器加载后展示的报告的样式了。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有拥有激情和毅力,才能逆袭人生,让自己的人生变得更加精彩。不要停下脚步,勇往直前,你一定能够实现自己的梦想!

人生的巅峰不是等待你去征服它,而是需要你去攀登它。坚定信念,迈出脚步,你就能够超越自我,收获无限的美好与荣耀!

困难是前行路上的催化剂,失败是成功的前奏曲。不要畏惧挑战,勇往直前,只有经历磨砺,才能成就辉煌的人生舞台!

相关文章:

测试老鸟总结,Allure测试报告-自动化测试详解,惊险避坑...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Allure安装教程…...

大模型开发06:LangChain 概述

大模型开发06:LangChain 概述 LangChain 是一个基于语言模型开发应用程序的框架。它可以实现以下功能: 上下文感知: 将语言模型与上下文源相连接(提示词、示例、用于支撑响应的内容等)推理能力: 依赖语言模型进行推理(如何根据提供的上下文来回答问题或采取哪些行动等)La…...

unity save load系统 快速搭建

我的最终目标是快读建立一个关卡数据自动读入储存功能: 1. 每个关卡有自己的编号,如果没有自定义该关卡,则读取默认编号的初始布局,如果有自定义该关卡,则读取新定义的关卡。 2.在游戏中如果对布局做出了更改&#x…...

前端 TS 快速入门之四:函数

1. 为函数定义类型 一般使用中,我们可以不必完整写出函数类型,因为 TypeScript 会为我们自动推断出类型,需要注意的是:类型中的参数名称可以不必和值中的参数名称匹配,只要它们类型是兼容的便可。 // 书写完成函数类型…...

Linux 救援模式

Linux突然坏了 第三次坏了 第一次是找不到盘,修复好了 第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用 第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘…...

HOT100自查题集

前言 遗忘是人类的本能,经常自查是必不可少的。现在面试手撕已经是必备项目,手撕题目大部分来自于力扣 HOT100 以及对应方向的一些编码题。我对 HOT 100 的题目以及Java相关的一些编码题目进行了分类整理,并提供解题思路,用作复习…...

Post-Process1-水下

一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…...

通过pipeline配置sonar自动化实现过程解析

这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.sonar配置webhooks, 2.url填写jenkins的地址:http://jenkinsurl/sonarqu…...

Spring framework Day 23:容器事件

前言 容器事件是 Spring Framework 中的一个重要概念,它提供了一种机制,使我们能够更好地了解和响应 Spring 容器中发生的各种事件。通过容器事件,我们可以在特定的时间点监听和处理容器中的各种状态变化、操作和事件触发,以实现…...

【Dockerfile】基于openjdk镜像添加常用命令工具

背景 官方openjdk镜像是Red Hat操作系统,可以使用microdnf命令安装 bash-4.4# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa)拉取openjdk镜像 docker pull openjdk:17.0.2 编写Dockerfile touch Dockerfile-openjdk-utilsFROM openjd…...

目录内图片转PDF(多图片打印助手)

最近同事经常找我帮她打印试卷,很奇葩的是,她的试卷都是*红书上下载的图片,一张张打印不好看,而且可能打印不完全,大小也不协调,所以有了这个脚本。 【需要给小孩打印图片格式的试卷时也比较实用】 -----…...

React TypeScript安装npm第三方包时,些包并不是 TypeScript 编写的

npm install types/包名称 例如:npm install types/jquery 学习链接...

Java 基础 面试 多线程

1.多线程 1.1 线程(Thread) 线程时一个程序内部的一条执行流程,java的main方法就是由一条默认的主线程执行 1.2 多线程 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行) 许多平台都离不开多…...

软考 系统架构设计师系列知识点之软件构件(1)

所属章节: 第2章. 计算机系统基础知识 第3节. 计算机软件 2.3.7 软件构件 1. 概述 构件又称为组件,是一个自包容、可复用的程序集。构建是一个程序集、或者说是一组程序的集合。这个集合可能会以各种方式体现出来,如源程序或二进制代码。这…...

RHCE8 资料整理(三)

RHCE8 资料整理 第三篇 网络相关配置第11章 网络配置11.1 网络基础知识11.2 查看网络信息11.3 图形化界面修改11.4 通过配置文件修改11.5 命令行管理11.6 主机名的设置 第12章 ssh12.1 ssh基本用法12.2 打开远程图形化界面12.3 ssh无密码登录12.4 ssh安全设置12.5 ssh限制用户1…...

C++ 使用httplib库,发送HTTP请求

简介 C 使用httplib库,发送HTTP请求 接口信息 ip地址 192.168.16.166 端口 8899 接口地址/abc/tk 请求方式GET 响应内容: { “result”: true, “message”: “”, “tk”: “yueguangsaxialexiangshuitan0ihai”, “datetimeout”: “2023-10-22 21…...

OceanBase自动安装部署演示环境demo

OceanBase自动安装部署 前提条件 官方给出硬件条件需要满足以下要求 本文操作系统为:Red Hat Enterprise Linux 8 64 位 下载链接:https://pan.baidu.com/s/1rZ39xJFhk0HdmC4wEJcxvg 提取码:c01x 下载并安装 all-in-one 安装包 执行如下…...

windows系统mysql服务启动失败

​ 原因 电脑重启navicat连接mysql失败,在电脑-管理-服务没有mysql服务 解决方案 找到mysql的安装目录进入bin目录 执行mysqld --install 进行重新安装 提示服务安装成功 net start mysql mysql 启动成功 ​...

B-tree(PostgreSQL 14 Internals翻译版)

概览 B树(作为B树访问方法实现)是一种数据结构,它使您能够通过从树的根向下查找树的叶节点中所需的元素。为了明确地标识搜索路径,必须对所有树元素进行排序。B树是为有序数据类型设计的,这些数据类型的值可以进行比较和排序。 下面的机场代…...

React环境初始化

环境初始化 学习目标: 能够独立使用React脚手架创建一个React项目 1.使用脚手架创建项目 官方文档:(https://create-react-app.bootcss.com/)    - 打开命令行窗口    - 执行命令      npx create-react-app projectName    说明&#xff1a…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...