测试老鸟总结,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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/167933.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 8 新特性 Ⅱ

方法引用 举例: Integer :: compare 理解: 可以看作是基于lambda表达式的进一步简化 当需要提供一个函数式接口的实例时, 可以使用lambda表达式提供实例 当满足一定条件下, 可以使用方法引用or构造器引用替换lambda表达式 实质: 方法引用作为函数式接口的实例 (注: 需要熟悉…

Promise笔记-同步回调-异步回调-JS中的异常error处理-Promis的理解和使用-基本使用-链式调用-七个关键问题

Promise笔记 1. 预备知识1.1 实例对象与函数对象1.2 两种类型的回调函数1. 同步回调2. 异步回调 1.3 JS中的异常error处理1. 错误的类型2. 错误处理(捕获与抛出)3. 错误对象 2.Promise的理解和使用2.1 Promise是什么1.理解Promise2.Promise 的状态3. Pro…

内衣洗衣机有必要买吗?口碑好的小型洗衣机测评

在近年以来,由于人们对健康的认识和生活质量的不断改善,使得内衣洗衣机这一类的产品在近年来得到了飞速的发展,洗烘一体机、洗烘套装的价格总体下降,功能和性能都得到了改善,往往更多的用户会选择一台或者多台洗衣机来…

面向对象设计原则之接口隔离原则

目录 定义接口隔离原则与单一职责原则示例 定义 接口隔离原则,全称为 Interface Segregation Principle,缩写ISP。 原始定义:Clients should not be forced to depend upon interfaces that they don’t use。 翻译: 不应该强行…

【Maven教程】(八):使用 Nexus 创建私服 ~

Maven 使用 Nexus 创建私服 1️⃣ Nexus简介2️⃣ 安装 Nexus2.1 下载 Nexus2.2 Bundle 方式安装 Nexus2.3 WAR 方式安装 Nexus2.4 登录 Nexus 3️⃣ Nexus 的仓库与仓库组3.1 Nexus 内置的仓库3.2 Nexus 仓库分类的概念3.3 创建 Nexus 宿主仓库3.4 创建 Nexus 代理仓库3.5 创…

CUDA学习笔记(十一)Memory Access

转载于https://www.cnblogs.com/1024incn/tag/CUDA/ Memory Access Patterns 大部分device一开始从global Memory获取数据,而且,大部分GPU应用表现会被带宽限制。因此最大化应用对global Memory带宽的使用时获取高性能的第一步。也就是说,gl…

OSI网络分层模型

OSI英文全文是Open System Interconnection Reference Model,翻译成中文就是开放式系统互联通信参考模型。 OSI模型分成了七层,部分层次与 TCP/IP 很像,从下到上分别是: 第一层:物理层,网络的物理形式&…

浏览器从输入url到渲染页面发生了什么?

浏览器从输入url到渲染页面发生了什么? 一、解析URL 首先浏览器做的第一步工作就是要对 URL 进行解析,浏览器会判断这个url的合法性 ,以及是否有可用缓存(如果有缓存即可以不用进行下一步的DNS域名解析),…

iOS原生、Android 原生, flutter 三种方式给照片流添加文字(水印)

效果图:三中代码实现的效果差不多 Swift:代码 import UIKitclass ImageWatermarking: NSObject {static func textToImage(drawText text: String, inImage initImage: UIImage, atPoint point: CGPoint) -> UIImage {let textColor = UIColor.whitelet textFont = UIFon…

@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)

目录 一、RequestMapping 路由映射 二、参数传递 1、传递单个参数 2、传递多个参数 3、传递对象 4、后端参数重命名 一、RequestMapping 路由映射 指定请求访问的路径既可以修饰类,又可以修饰方法 RequestMapping支持Get、Post、Delete等多种请求方式 Re…

【JavaScript】深入讲解浏览器渲染原理

一. 浏览器是如何渲染页面的? 当浏览器的网络线程收到 HTML 文档后,会产生一个渲染任务,并将其传递给渲染主线程的消息队列。 在事件循环机制的作用下,渲染主线程取出消息队列中的渲染任务,开启渲染流程。 渲染&…

Gartner 2024年十大战略技术趋势,谈谈持续威胁暴露管理(CTEM)

科技云报道原创。 近日,Gartner发布了2024年企业机构需要探索的10大战略技术趋势。 这份连年更新的报告,是Gartner分析其在未来三年内如何影响企业的战略,以指导关键岗位决策者尽早了解探索并满足各自的业务需求。 2024年十大重要战略趋势…

【数据结构】String类对象的创建与字符串常量池的“神秘交易”

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…

Tomcat+nginx负载均衡和动静分离

Nginx实现负载均衡和动静分离的原理 Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。 但是不是把所有的web请求转发,而是将静态页面请求Ncinx服务器自己来处理&#xff0c…

vmware安装 Rocky9(自定义分区安装)

一、下载镜像 访问官网,下载dvd的镜像 Download Rocky | Rocky Linuxhttps://rockylinux.org/download 二、新建vmware虚拟机 1、vmware尽量选择vmware17 2、下一步 3、稍后安装 4、选择系统类型:red hat9 5、自定义安装位置 6、根据电脑配置&#…

Windows 95 的辉煌诞生历史

1992 年 2 月,Windows 3.1 的研发即将结束,而 Windows 团队正忙得不亦乐乎地计划他们的下一盘大棋。到了 3 月 5 日,他们终于悠哉悠哉地敲定了战略大计:横扫桌面、笔记本、移动设备以及时髦的触控笔设备。至于那些高大上的服务器和…

自然语言处理---Transformer机制详解之GPT2模型介绍

1 GPT2的架构 从模型架构上看, GPT2并没有特别新颖的架构, 它和只带有解码器模块的Transformer很像. 所谓语言模型, 作用就是根据已有句子的一部分, 来预测下一个单词会是什么. 现实应用中大家最熟悉的一个语言模型应用, 就是智能手机上的输入法, 它可以根据当前输入的内容智…

什么是全链路压测?

随着互联网技术的发展和普及,越来越多的互联网公司开始重视性能压测,并将其纳入软件开发和测试的流程中。 阿里巴巴在2014 年双11 大促活动保障背景下提出了全链路压测技术,能更好的保障系统可用性和稳定性。 什么是全链路压测?…

hello react

react中文官网 一、什么是react React是一个由Facebook开源的JavaScript库,用于构建用户界面。它基于组件化的思想,将界面拆分成多个独立的、可复用的组件,并通过组件之间的交互构建整个用户界面。React使用虚拟DOM(Virtual DOM…