web自动化笔记十一:Fixture装置函数

一、Fixture装置函数
        说明:Fixture是一个概述,对一个测试用例环境的初始化和销毁就是一个Fixture

二、Fixture控制级别:
        1、函数级别<常用>  
            def setUp()/def tearDown()
            特性:几个测试函数,执行几次。每个测试函数执行之前都会执行setUp,执行之后都会执行tearDown
        
        2、类级别<常用>
            def setUpClass()/def tearDownClass()
            特性:测试类运行之前运行一次setUpClass,类运行之后执行一次tearDownClass
            注意:类方法必须使用@classmethod修饰
       

        3、模块级别
            def setUpModule()/def tearDownModule()
            特殊:模块运行之前执行一次setUpModule,运行之后执行一次tearDownModule
            提示:无论使用函数级别,还是类级别,最后常用场景为:
            def setUpModule():
                1、获取浏览器实例化对象
                2、最大化浏览器
                3、隐式等待
            def tearDownModule():
                关闭浏览器驱动对象
                
三、Fixture用法
        Fixture其实就是两个函数,这个函数可以一起使用,也可以单独使用
            1、初始化函数:def setUp()
            2、结束函数:def tearDown()

四、案例演示

1、函数级别执行代码:
 

import unittestdef add(x,y):return x+yclass Test_add(unittest.TestCase):# 函数级别def setUp(self):print("我会执行setUp")def tearDown(self):print("我会执行tearDown")def test_add01(self):print("执行了测试用例:test_add01")result = add(3,5)print(result)def test_add02(self):print("执行了测试用例:test_add02")result = add(4, 5)print(result)def test_add03(self):print("执行了测试用例:test_add03")result = add(4, 7)print(result)def test_add04(self):print("执行了测试用例:test_add04")result = add(6, 7)print(result)if __name__ == "__main__":Test_add.main()

执行结果:

我会执行setUp
执行了测试用例:test_add01
8
我会执行tearDownRan 4 tests in 0.035sOK
我会执行setUp
执行了测试用例:test_add02
9
我会执行tearDown
我会执行setUp
执行了测试用例:test_add03
11
我会执行tearDown
我会执行setUp
执行了测试用例:test_add04
13
我会执行tearDown

2、类级别执行代码:

import unittestdef add(x,y):return x+yclass Test_add1(unittest.TestCase):@classmethoddef setUpClass(cls):print("我会执行setUpClass")@classmethoddef tearDownClass(cls):print("我会执行tearDownClass")def test_add101(self):print("执行了测试用例:test_add101")result = add(3,5)print(result)def test_add102(self):print("执行了测试用例:test_add102")result = add(4, 5)print(result)def test_add103(self):print("执行了测试用例:test_add103")result = add(4, 7)print(result)def test_add104(self):print("执行了测试用例:test_add104")result = add(6, 7)print(result)if __name__ == "__main__":Test_add1.main()

执行结果:

我会执行setUpClass
执行了测试用例:test_add101
8
执行了测试用例:test_add102
9
执行了测试用例:test_add103
11
执行了测试用例:test_add104
13
我会执行tearDownClass

3、模块级别:
 

import unittestdef add(x,y):return x+y
def setUpModule():print("我会执行setUpModel")
def tearDownModule():print("我会执行tearDownModel")class Test_add2(unittest.TestCase):def test_add201(self):print("执行了测试用例:test_add201")result = add(3,5)print(result)def test_add202(self):print("执行了测试用例:test_add202")result = add(4, 5)print(result)def test_add203(self):print("执行了测试用例:test_add203")result = add(4, 7)print(result)def test_add204(self):print("执行了测试用例:test_add204")result = add(6, 7)print(result)if __name__ == "__main__":Test_add2.main()

执行结果:

我会执行setUpModel
执行了测试用例:test_add201
8
执行了测试用例:test_add202
9
执行了测试用例:test_add203
11Ran 4 tests in 0.016sOK
执行了测试用例:test_add204
13
我会执行tearDownModel

 

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

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

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

相关文章

网络编程中的响应之道:探索 Reactor 和 Proactor 模式

前言 让服务器服务多个客户端&#xff0c;那么最直接的方式就是为每一条连接创建线程。而为了避免频繁的创建和销毁线程&#xff0c;可以通过线程池来进行优化&#xff0c;达到「资源复用」。不过&#xff0c;这样又引来一个新的问题&#xff0c;线程怎样才能高效地处理多个连接…

2024全国护网行动HW行动招聘/收人!!!

2024全国护网行动HW行动招聘 溯蓉信创开始收人啦&#xff01;&#xff01;&#xff01;现在开始收录2024HW简历&#xff0c;感兴趣的小伙伴扫码二维码添加微信 我们签约后&#xff0c;入场即预付款3k&#xff0c;签约后我们会在HW之前对我们的人员进行HW培训&#xff0c;保证上…

安全特性 悬垂指针

英文名称 Dangling point&#xff0c;它还有一个兄弟叫 wild point - 野指针。 简单的对Dangling point做一个类比&#xff1a;我换手机号码了&#xff0c;但是没有通知老板&#xff0c;老板通讯录存的是我的旧号码。然后老板打电话有两种可能&#xff1a;打不通电话或者电话打…

tomcat安装及jdk安装

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。对于一个初学者来说&#xff0c;可以这样认为&#xff0c;当在一台机器上配…

Spring初始(相关基础知识和概述)

Spring初始&#xff08;相关基础知识和概述&#xff09; 一、Spring相关基础知识&#xff08;引入Spring&#xff09;1.开闭原则OCP2.依赖倒置原则DIP3.控制反转IoC 二、Spring概述1.Spring 8大模块2.Spring特点2.Spring的常用jar文件 一、Spring相关基础知识&#xff08;引入S…

[SpringCloud] OpenFeign核心架构原理 (一)

Feign的本质: 动态代理 七大核心组件 Feign底层是基于JDK动态代理来的, Feign.builder()最终构造的是一个代理对象, Feign在构建对象的时候会解析方法上的注解和参数, 获取Http请求需要用到基本参数以及和这些参数和方法参数的对应关系。然后发送Http请求, 获取响应, 再根据响…

Linux:kubernetes(k8s)允许在任意节点使用kubectl命令(5)

我们部署好了主节点以后&#xff0c;我们使用kubectl命令 一切正常&#xff0c;而我们到了别的node上使用 就显示一个这个 这个原因是因为我们开始就配置了master的一个配置文件&#xff0c;在/root/.kube/config 里&#xff0c;而我们的从节点不知道去找那个api接口所以就报…

什么是Vue的服务端渲染(SSR)?它有什么作用?

Vue的服务端渲染&#xff08;SSR&#xff09;是指将Vue组件在服务器端进行渲染&#xff0c;然后将已经渲染好的页面返回给浏览器&#xff0c;相比于传统的客户端渲染&#xff0c;SSR可以更好地优化SEO和加速首屏加载速度。在传统的客户端渲染中&#xff0c;浏览器需要加载所有的…

【教程】Kotlin语言学习笔记(四)——方法(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 第二章 《数据类型》 第三章 《数据容器》 第四章 《方法》 文章目录 【…

BioTech - 药物晶型预测与剂型设计 概述

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/136441046 药物晶型预测与剂型设计是指利用计算机模拟和优化药物分子在固态形式下的结构、性质和稳定性&#xff0c;以及与制剂工艺和质…

Android使用陀螺仪

Android使用陀螺仪 陀螺仪基础运用与理解 在Android应用中使用陀螺仪可以帮助实现各种功能&#xff0c;比如游戏控制、虚拟现实体验、运动追踪等。以下是使用Android陀螺仪的基本步骤&#xff1a; 获取传感器服务&#xff1a; 首先&#xff0c;需要获取设备上的陀螺仪传感器服…

新火种AI|AI商业中的里程碑事件已敲定! 欧盟27国一致通过《人工智能法案》。

作者&#xff1a;小岩 编辑&#xff1a;彩云 根据路透社2月2日消息&#xff0c;欧盟国家就《人工智能法案》立法正式达成协议。 此次立法的成功堪称AI商业领域上的里程碑事件。因为单从商业视角来看&#xff0c;这一法案的通过率先为欧盟内部的人工智能创新提供了明确的法律…