web自动化3-pytest前后夹具

 一、pytest前后置(夹具)-fixture

夹具的作用:在用例执行之前和之后,需要做的准备工作之前和收尾工作。

用于固定测试环境,以及清理回收资源。

举个例子:访问一个被测页面-登录页面,执行测试用例过程中,上来就输入账户、密码、验证码吗,实际上是先获取浏览器的驱动,有了驱动才去执行用例的执行,用例执行完后关闭页面。

夹具要做的事情就是在执行用例之前,把驱动获取到,用例执行完之后,页面需要关闭就放到固定的测试环境之后。

pytest内部提供了多种类型的夹具

1、已经定义好的夹具类型一共有以下几种类型:

  • 函数
  • 方法
  • 模块

2、自定义夹具:fixture

使用fixture灵活调度固定的测试环境

1.1、fixture基本介绍

是pytest当中的一个装饰器

@pytest.fixture(夹具的作用域、参数化、自动使用)

@pytest.fixture(scope="function",autouse=True)
def go_shop():
    print("使用自动保持登录的id")  # 代码段1
    yield  # 不需要返回任何的内容
    print("登录成功之后的用户id")  # 代码段2

每一个函数级别的用例,它都会在你用例执行之前执行代码段1,用例执行之后执行代码段2

1、自动调用夹具

2、不自动调用夹具 

1.2、项目中的使用

fixture一般在项目中集中管理-封装成一个模块。

  • 整个项目中会定义一个py模块:conftest.py专门用来放置自定义的fixture,文件名固定而且不能修改。
  • 在使用fixture不需要进行导包,可以直接使用。不管是在项目根目录还是用例目录都会自动识别进行调用。
  • 执行顺序:多个fixture-从最外边到最里边以及从最上边到最下边,定位fixture然后执行。有相同的名字的,根据ASCII编码进行筛选选中,然后进行一个集中使用。

也就是将定义fixture的那段代码放在conftest.py文件中即可。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云镜像仓库服务--推送docker image到远程仓库

一、背景 阿里云对于镜像仓库服务的使用文档已比较完善,结合它给的示例。 本文是站在小白用户的视角,梳理整个的使用过程以及遇到的问题。 二、使用步骤 阿里云镜像仓库服务和harbor、nexus等私有仓库等并没有什么大差不差之处,仍旧是四步走…

Java设计模式 | 工厂方法模式

工厂方法模式 针对简单工厂模式案例中的缺点,使用工厂方法模式就可以完美的解决,完全遵循开闭原则。简单工厂模式只有一个工厂类,负责创建所有产品,如果要添加新的产品,就需要修改工厂类的代码。而工厂方法模式引入了…

鸿蒙Harmony应用开发—ArkTS-转场动画(组件内隐式共享元素转场)

geometryTransition用于组件内隐式共享元素转场,在组件显示切换过程中提供平滑过渡效果。通用transition机制提供了opacity、scale等转场动效,geometryTransition通过id绑定in/out组件(in指入场组件、out指出场组件),使得组件原本独立的trans…

IOS/Android App备案(uniapp)

IOS/App备案 IOS备案Android备案 IOS备案 准备好p12证书即可 链接: https://aitoolnav.caichuangkeji.com/#/AppMd5 Android备案 上DCLOUD开发者中心,找到相关应用后,直接查看证书即可获取到MD5 公钥:先根据上述页面下载证书,…

Windows10无盘母盘制作-以云更新为例

Windows10无盘母盘制作-以云更新为例 缘起环境准备创建虚拟机安装系统导出系统 缘起 网吧客户端在实际环境中,经常要面对形形色色对无盘系统,五花八门对无盘镜像, 为了方便确认不同无盘环境对客户的对影响,决定自己制作一个无盘母…

Linux/Monitored

Enumeration nmap 用 nmap 扫描了常见的端口,发现对外开放了 22,80,389,443,5667 端口,端口详细信息如下 ┌──(kali㉿kali)-[~/vegetable/HTB/Monitored] └─$ nmap -sC -sV -p 22,80,389,443,5667 10.10.11.248 Starting Nmap 7.93 ( https://nm…

Git和本地仓库托管到gitee

Git作用:记录代码内容,切换代码版本,实现多人开发 Git安装: 打开bash端 命令:git-v(查看版本) 配置用户信息 git config --global user.name “用户名” git config --global user.email "邮箱名…

云蜜罐技术(德迅猎鹰)诞生

数字化程度高且高价值信息密集的行业,如金融、能源、互联网、政府、教育、医疗、军工等行业,面对日益规模化、专业化的网络攻击,渐渐不再满足于一味的防守加固。除了巩固防线之外,他们愈发看重主动出击、感知更大范围内的攻击&…

Windows下IntelliJ IDEA远程连接服务器中Hadoop运行WordCount(详细版)

使用IDEA直接运行Hadoop项目,有两种方式,分别是本地式:本地安装HadoopIDEA;远程式:远程部署Hadoop,本地安装IDEA并连接, 本文介绍第二种。 一、安装配置Hadoop (1)虚拟机伪分布式 见上才艺&a…

Java二阶知识点总结(七)SVN和Git

SVN 1、SVN和Git的区别 SVN是集中式的,也就是会有一个服务器保存所有代码,拉取代码的时候只能从这个服务器上拉取;Git是分布式的,也就是说每个人都保存有所有代码,如果要获取代码,可以从其他人手上获取SV…

实用工具推荐:适用于 TypeScript 网络爬取的常用爬虫框架与库

随着互联网的迅猛发展,网络爬虫在信息收集、数据分析等领域扮演着重要角色。而在当前的技术环境下,使用TypeScript编写网络爬虫程序成为越来越流行的选择。TypeScript作为JavaScript的超集,通过类型检查和面向对象的特性,提高了代…

LeetCode 面试经典150题 罗马数字转整数

题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

25.1 微服务_Zookeeper组件

25.1 Zookeeper 1. Zookeeper简介1.1 ZooKeeper 的由来1.2 ZooKeeper功能1.3 Zookeeper特点1.4 Zookeeper架构1.5 Zookeeper作用*********************************************************************************************

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端,然后输入以下内容,其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

Debezium vs OGG vs Tapdata:如何实时同步 Oracle 数据到 Kafka 消息队列?

随着信息时代的蓬勃发展,企业对实时数据处理的需求逐渐成为推动业务创新和发展的重要驱动力。在这个快速变化的环境中,许多企业选择将 Oracle 数据库同步到 Kafka,以满足日益增长的实时数据处理需求。本文将深入探讨这一趋势的背后原因&#…

[自研开源] MyData 数据集成之任务调度模式 v0.7

开源地址:gitee | github 详细介绍:MyData 基于 Web API 的数据集成平台 部署文档:用 Docker 部署 MyData 使用手册:MyData 使用手册 试用体验:http://demo.mydata.work 交流 Q 群:430089673 概述 本…

ArcGIS Pro、R和INVEST:三位一体的生态系统服务评估框架

生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium ecosystem assessment,MA)提出生态系统服务包括供给、调节、…

【linux】环境基础|开发工具|gcc|yum|vim|gdb|make|git

目录 ​编辑 Linux 软件包管理器 yum 软件包: 操作: 拓展:lrzsz简介 Linux开发工具 Linux编辑器-vim使用 vim 的基本概念 命令模式 插入模式 底行模式 vim 命令模式的操作指令 vim 底行模式的操作命令 Linux编译器-gcc/g使用 功能 格…

【web算法】列车车厢重排问题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

【Linux】如何使用git命令行与远程仓库建立连接(以Gitee为例)

目录 01.创建仓库 开源 初始化​编辑 设置模版 ​编辑 02.下载仓库到本地 03.提交贡献到远程仓库 01.创建仓库 首先在Gitee网站上登录你的账户,并创建一个新的仓库,输入仓库名称后就会自动生成仓库路径 开源 可以选择你的仓库是否开源。 开源仓…