11.接口自动化测试-Allure报告(2)

目录

    • 1.如何同时执行多个测试文件
    • 2.Allure的不同层级应用
      • Allure报告:

1.如何同时执行多个测试文件

(1)新建bat文件
(2)写命令

cd ./testCase
pytest -s --alluredir ./report --clean-alluredir
allure serve ./report

2.Allure的不同层级应用

Allure层级
(1)第一层:项目层@allure.epic
(2)第二层:模块层@allure.feature
(3)第三层:接口层@allure.story
(4)第四层:用例层@allure.title
import pytest,allure,os
from libs.login import Login
from utils.handle_excel import get_excel_data
from utils.handle_path import report_path
from utils.handle_path import data_path
from common.baseApi import BaseAssert
#TestLogin继承BaseAssert@allure.epic('项目名称-外卖项目')
@allure.feature('商铺模块')
# @pytest.mark.skip(reason='该模块暂时不要运行')
@pytest.mark.skipif(1==2,reason='条件满足就跳过')
class TestShop(BaseAssert):@pytest.mark.parametrize('title,inBody,expData', get_excel_data('商铺模块', 'Listshop','标题','请求参数','响应预期结果'))@allure.story('商铺列表接口')@allure.title("{title}")@pytest.mark.shop_listdef test_shop_list(self,title,inBody,expData,shop_init):#shop_init初始化操作# 1.调用业务层封装的接口代码res=shop_init.query(inBody)# 2.断言实际返回结果与预期结果self.define_assert(res['code'],expData['code'])@pytest.mark.parametrize('title,inBody,expData', get_excel_data('商铺模块', 'Updateshop','标题','请求参数','响应预期结果'))@pytest.mark.shop_list@allure.story('商铺编辑')@allure.title("{title}")def test_shop_update(self,title,inBody,expData,shop_init):# 分步走with allure.step('1.店铺实例'): #店铺实例print('1.获取店铺实例')with allure.step('2.店铺列出接口获取shopid'): #店铺列出接口获取shopidshopID=shop_init.query({"page":1,"limit":2})['data']['records'][0]['id']with allure.step('3.图片上传接口'):# 图片上传接口resimage = shop_init.file_upload(data_path + '\\cat.jpg')imageInfo = resimage['data']['realFileName']with allure.step('4.调用编辑店铺接口'):res=shop_init.update(inBody,shopID,imageInfo)self.define_assert(res['code'],expData['code'])if __name__ == '__main__':pytest.main([__file__,'-sv','-m','shop_list or shop_update','--alluredir',report_path,'--clean-alluredir'])os.system(f'allure serve {report_path}')

Allure报告:

在这里插入图片描述

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

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

相关文章

【一竞技DOTA2】双冠王N0tail将发布新书自传《性格胜过天赋》

1、近日Ti双冠王N0tail,在个人推特上宣布将发布自己的自传《性格胜过天赋》。N0tail职业生涯豪夺两届Ti冠军,700万美元个人生涯奖金亦是电竞史最高的传奇选手。 “经过许多年的努力和收到的大量请求,我将发布我的自传新书《性格胜过天赋》&am…

1.PROXY-代理内容

SwitchyOmega,浏览器插件(edge,火狐插件库都是存在的),安装后的样式 1.安装 2.设置 我们常用的功能,主要是设置一个代理ip访问学习网站入github等,或者docker服务等 3.启动代理 4.验证 https…

Java测试编程题

题目1 1.创建5个线程对象 线程名设置为(Thread01,Thread02,Thread03,Thread04,Thread05)使用 代码实现5个线程有序的循环打印,效果如下: Thread01正在打印1 Thread02正在打印2 Threa…

信道的题目

调制信道分为恒参信道和随参信道。恒参信道举例:各种有线信道;中长波地波传播、卫星中继。随参信道举例:短波电离层反射信道、各种散射信道、移动通信信道。狭义信道分为有线信道和无线信道。广义信道包含调制信道和编码信道。调制信道中不包…

Three.js--》探秘虚拟现实VR展厅的视觉盛宴

今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 目录 项目搭建 初始化three代码 camera-controls控制器使用 添加画框 画框处理事件 添加机器人模型 …

强化网络安全防线,您的等级保护措施到位了吗?

在这个信息化飞速发展的时代,网络安全已经成为我们每个人都需要关注的问题。无论是企业还是个人,我们的工作和生活都越来越依赖于网络。确保网络环境的安全,防止信息泄露和网络攻击,已经成为了一项至关重要的任务。等级保护制度作…

Spring-dataSource事务案例分析-使用事务嵌套时,一个我们容易忽略的地方

场景如下: A_Bean 中的方法a()中调用B_Bean的b();方法都开启了事务,使用的默认的事务传递机制(即:属于同一事务); 如下两种场景会存在较大的差异: 在b()方法中出现了异常,在b()中进…

手把手学浪视频怎么保存到本地

很多人在学浪app上面购买了课程,但是并不是所有课程都是永久观看,所以就想要下载下来,进行永久观看 由于很多人都是小白用户,考虑到这一点,我封装成软件,大家不需要考虑视频m3u8地址是怎么获取的、KEY是怎么解密的,只需要掌握工具怎么用 工具我也给大家准备好了,有需要的自己…

java算法day3

移除链表元素设计链表翻转链表两两交换链表中的结点 移除链表元素 ps:有时候感觉到底要不要写特判,你想到了就写!因为一般特判有一劳永逸的作用。 解法有两种,一种是不用虚拟头结点,另一种就是用虚拟头结点。 这里我…

【基础IO】谈谈动静态库(怒肝7000字)

文章目录 前言实验代码样例静态库生成一个静态库归档工具ar静态库的链接 动态库创建动态库加载动态库 动静态链接静态链接动态链接动静态链接的优缺点 前言 在软件开发中,库(Library)是一种方式,可以将代码打包成可重用的格式&…

014Node.js时间格式包silly-datetime安装与使用

下载: https://www.npmjs.com/网站上下载silly-datetime 安装 npm i silly-datetime --save var sd require(silly-datetime);console.log(new Date()); //2024-04-18T04:40:38.505Zvar dsd.format(new Date(), YYYY-MM-DD HH:mm);console.log(d); //2024…

【1569】jsp学生学籍管理系统Myeclipse开发sqlserver数据库web结构jsp编程计算机网页项目

一、源码特点 jsp 学生学籍管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为sqlserver2…