python自动化测试框架的unittest与pytest前后置条件的区别
前言:
笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁、方便很多。不过在使用unittest的前后置条件时,已经觉得在和每个测试用例里面重复写一样的前后置代码相比,unittest的前后置同样也简洁、方便很多。
unittest的前后置设置:分为类的前后置和每条测试用例的前后置
类的前置条件:
- setUpClass:主要用于启动浏览器驱动和设置浏览器窗口最大化,和加上打开的url,完成web自动化的前置
- tearDownClass:主要用于关闭浏览器回话
每个测试用例的前置条件:
- setUp\tearDown:可根据自身的业务逻辑去编写
1 #整个测试类的前置条件(主要用于启动浏览器驱动和设置浏览器窗口为最大化及打开url)
2 @classmethod
3 def setUpClass(cls):
4 # 启动浏览器驱动
5 cls.driver = webdriver.Chrome()
6 # 最大化显示窗口
7 cls.driver.maximize_window()
8 # 输入url打开
9 cls.driver.get(cd.login_url)
10 print("开始测试")
11
12 #每次执行用例的前置条件
13 def setUp(self):
14 self.lp = LoginPage(self.driver)
15
16 #每次执行用例的后置条件
17 def tearDown(self):
18 #每条用例执行后,刷新当前页面
19 self.driver.get(cd.login_url)
20
21 #整个测试类的后置条件(主要用于结束后,关闭浏览器回话)
22 @classmethod
23 def tearDownClass(cls):
24 cls.driver.quit()
25 print("测试结束")
pytest的前后置:fixture(主要讲fixture)
fixture的前后置写在conftest.py文件里面,conftest无需导入,放在测试类一层里面即可。在编写一个测试前后置方法,用yield来区分前后置。

@pytest.fixture(scope="function")
def start_app():
driver = init_cps()
# 真机确认访问权限
bl(driver).get_permission()
# 滑屏操作
BP(driver).cross_screen(times=3, loc=ll.now_start)
# yield 之前的是前置条件,yield后面的为后置条件
yield driver
python自动化测试框架的unittest与pytest前后置条件的区别的更多相关文章
- 【转】推荐4个不错的Python自动化测试框架
之前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试用例.假设(assumptions).脚本和技术来运行每一 ...
- Python 自动化测试框架 unittest 和 pytest 对比
一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...
- python 自动化测试框架unittest与pytest的区别
前言: 有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁.方便很多. unittest与pytest的区别: 主要从用例编写 ...
- [转]Python测试框架对比----unittest, pytest, nose, robot framework对比
测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...
- python自动化测试框架unittest
对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架: 通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告: 首先我们尝试编写编写一个最简单的un ...
- (原创)Python 自动化测试框架详解
自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下. 项目背景 B/S架构,进行用户界面的自动化测试 工具选择 python开发的自动化测试框架,足够灵活,可以随时根据需求进行变 ...
- python自动化测试框架
一.环境准备 1.python开发环境, python3.7 2.setuptools基础工具包 3.pip安装包管理工具 4.selenium自动化测试工具 chrom驱动下载地址: http:/ ...
- Selenium WebDriver + python 自动化测试框架
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...
- Python+自动化测试框架的设计编写
Python之一个简单的自动化测试框架:https://baijiahao.baidu.com/s?id=1578211870226409536&wfr=spider&for=pc h ...
随机推荐
- Spring(3):AOP面向切面编程
一,AOP介绍 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开 ...
- Spring Boot简单操作
目录 一.自定义异常页面 二.单元测试 三.多环境选择 四.读取主配置文件中的属性 五.读取List属性 一.自定义异常页面 对于404.405.500等异常状态,服务器会给出默认的异常页面,而这些 ...
- linux基础-TCP/IP协议篇
一.网络TCP/IP层次模型 1.网络层次模型概念介绍:TCP/IP协议就是用于简化OSI层次,以及相关的标准.传输控制协议(tcp/ip)族是相关国防部(DoD)所创建的,主要用来确保数据的完整性及 ...
- 【Github】如何下载csv文件/win10如何修改txt文件为csv文件
csv文件:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号) 右键点击raw按钮,选择目标另存为,下载的是txt文件 win10如何 ...
- Sysenter/Kifastcallentry hook 检测与恢复
关于Sysenter.Kifastcallentry.中断之类的内核入口hook技术早就烂大街了,可是对hook的检测与恢复代码却是寥寥无几,一切抛开代码将原理的行为都是耍流氓. 下面以Sysente ...
- 资源分配单位(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 那些分配了资源的任务,其中的资源是有数量单位的,默认工时单位是100%,材料单位是1. 比如某吃货,为了完成吃米饭这一任务 ...
- 任务日历关联(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 有时候吧,一件大事是由N件小事组成的,而这N件小事当中,不是每件事都可以在周末停下来的,当然也不是所有的事都必须在周末完成 ...
- Spring5 概述及Spring IOC学习
Spring Framework 5 1. Spring框架 1.1 Spring框架概述 1.2 主要内容 Spring框架是一个开源的JavaEE的应用程序 主要核心是 IOC(控制反转)和AOP ...
- 当PowerDesigner的工具栏不见时候该怎么调出来
当PowerDesigner的工具栏不见时候该怎么调出来,如下所示:选中[Palette]便可
- SpringBoot整合zimg图片服务器
依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</arti ...