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

news2024/10/7 10:24:10

目录:导读

    • 前言
    • 一、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 allure

def 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.coloradmin.cn/o/1123957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hello react

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

线框图软件:Balsamiq Wireframes mac中文介绍

Balsamiq Wireframes mac是一款用于创建线框图的软件工具。它旨在帮助用户快速制作出清晰、简洁的界面原型,以便在设计和开发过程中进行协作和沟通。 Balsamiq Wireframes具有简单直观的用户界面,使用户能够快速添加和编辑各种用户界面元素,如…

一百九十五、MySQL——MySQL数据库创建只读权限的账号(附流程截图)

一、目的 在团队开发过程中,为了实现数据共享以及避免其他团队修改库表数据,需要提供数据库只读权限的账号,因此以MySQL数据库为例,创建MySQL数据库只读权限的账号 二、实施步骤 (一)第一步,…

【C++】多态结束篇

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻虚表存在内存中哪里&#x…

SpringBoot中的日志使用

SpringBoot的默认使用 观察SpringBoot的Maven依赖图 可以看出来,SpringBoot默认使用的日志系统是使用Slf4j作为门户,logback作为日志实现 编写一个测试代码看是否是这样 SpringBootTest class SpringbootLogDemoApplicationTests {//使用Slf4j来创建LOG…

广西建筑模板的材质类型和特点有哪些?

广西建筑模板常用的材质类型包括木模板、钢模板、竹胶合板、塑料模板和铝合金模板等。每种材质都具有不同的特点和适用范围。 1. 木模板: - 适用于高层建筑的水平模板、剪力墙、竖向墙板、高架桥、立交桥、大坝、隧道施工及梁柱模板。 - 具有高强度和良好的韧性&…

通过全流量分析助力某医院关键业务提高性能

背景 福建某大型医院信息科近期接到多人反应,业务系统访问慢和报错情况,因为问题出现没有时间和操作规律,网络管理员通过多种方式排查,未能得到有效的原因定位。 我们已将NetInside流量分析系统部署到医院的机房内,使用…

2022年京东双十一手机数码全品类数据回顾

2023年双十一临近,特此带大家回顾一下去年双十一热门品类的一些战况数据。这一期是京东手机电脑数码。 整体表现来看,2022年双11大促京东手机、电脑、数码类产品并没有想象中的增长状态,无论是电脑中的笔记本、数码中的相机,或者是…

InnoDB事务

1. 支持的事务 扁平事务:所有操作都处于同一层次 带保持点的扁平事务:事务能够回到保持点的状态。 链事务:系统崩溃时,所有保存点都将消失。 嵌套事务:具有层次结构(树)。任意一个事务回滚会…

c语言进制的转换二进制转换10进制

c语言进制的转换之二进制转换10进制 c语言的进制的转换 c语言进制的转换之二进制转换10进制一、二进制转换10进制的方法二、10进制程序打印 一、二进制转换10进制的方法 二进制: 二进制逢二进一,所有的数组是0、1组成 十进制转二进制: 除二反…

AD20~PCB的板层设计和布线

1、打开51单片机最小系统的工程文件。 2、完成原理图后续工作:打开原理图文件,双击元件“CH340X”窗口右边弹出元件内部属性设置界面,在窗口下方点击“Footprint ->Add…”按钮进入添加元件类型界面,进入元件封装选择界面&…

2023年行云绽放傲冠股份厨艺比拼团建活动圆满结束

十月金秋,阳光灿烂,碧空如洗。 为了促进员工之间更好的交流,激发员工阳光向上的心态,充满活力,拥抱自然,深圳市行云绽放科技有限公司及深圳市傲冠软件股份有限公司于2023年10月13日组织深圳总部员工自驾出…

接口自动化测试工具大全

在互联网时代,服务端测试已经成为一个重要的产品保障手段,各对此公司实施的方法和技术也不同,本文我们就来讨论一下。 互联网服务端接口自动化是各个公司都需要一部分业务,如何快速高效地完成接口测试呢? 以帮助大家实…

Linux基础命令1——Linux的命令格式与命令分类

目录 Linux命令格式 Linux命令分类 如何判断命令的类型——Type命令 内置命令 外部命令 alias命令 命令的执行效率与过程 Linux命令格式 命令格式 完整的命令格式分为三部分:命令、参数、对象 其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做…

变分贝叶斯深度学习综述

**©PaperWeekly 原创 作者 |**薛博阳 **单位 |**香港中文大学 **研究方向 |**语言模型 引言 近年来,贝叶斯深度学习(Bayesian Deep Learn-ing)在诸多领域得到广泛关注应用,效果显著。本文将针对贝叶斯深度学习框架进行系…

​如何使用ArcGIS Pro制作一张地形图

01数据来源 本教程所使用的数据是从水经微图中下载的DEM数据,除了DEM数据,常见的GIS数据都可以从水经微图中下载,你可以通过关注“水经注GIS”,然后在后台回复“微图”即可获取软件下载地址,当然也可以直接在水经注…

TensorFlow2从磁盘读取图片数据集的示例(tf.data.Dataset.list_files)

import os import warnings warnings.filterwarnings("ignore") import tensorflow as tf from tensorflow.keras.optimizers import Adam from tensorflow.keras.applications.resnet import ResNet50 from pathlib import Path import numpy as np#数据所在文件夹 …

AI爆文变现脚本:0基础小白的保姆级操作教程-更新迭代

脚本作用:这个脚本主要是辅助训练营的同学使用的,脚本可以增加发文的效率。 脚本现在已经更新了9个版本了。目的是为了更方便大家操作使用。 AI爆文流量主(广告)变现项目的实际操作教程,我之前分享过了,大家感兴趣的可以再去看看…

灰色和测试环境打包串台

事情是这样的: 最近开发总说jenkins灰色环境打包总是到成测试环境的,测试环境总是走到了线上了。我们排查了也很久最终发现原来是这个问题导致的。如下: 修改如下: 问题解决

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

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