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 ...
随机推荐
- mysql数据库备份脚本一例
例子,mysql数据库备份脚本.vim mysql.sh #!/bin/bash DAY=`date +%Y-%m-%d` //日期以年月日显示并赋予DAY变量 SIZE=`du -sh /var/l ...
- @PropertySource配置的用法
功能 加载指定的属性文件(*.properties)到 Spring 的 Environment 中.可以配合 @Value 和@ConfigurationProperties 使用. @Proper ...
- maven管理本地jar包
maven作为包管理工具,好处不必多说.但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖),如果直接下载到本地之后,怎么整合到自己的maven工程 ...
- 记ByteCTF中的Node题
记ByteCTF中的Node题 我总觉得字节是跟Node过不去了,初赛和决赛都整了个Node题目,当然PHP.Java都是必不可少的,只是我觉得Node类型的比较少见,所以感觉挺新鲜的. Nothin ...
- Linux 内核到底长啥样
目录 一.简介 二.结构 地基 地面层 进程表 http进程 21进程 22进程 到文件系统 定时任务 管道 411进程 跃层 一.简介 今天,我来为大家解读一幅来自 TurnOff.us 的漫画 & ...
- Spring Cloud Alibaba微服务架构入门最容易理解篇
微服务架构介绍 Spring Cloud Alibaba推荐的微服务生态架构基于分层架构实现如下: 接入层:最外层为LVS+Keepalived,可承受几十万级高并发流量洪峰,然后再通过内层的ngin ...
- [BSidesCF 2019]Runit(细心)
这道题目并不难,甚至很简单,通过这个文章提醒自己一定要细心 例行检查我就不放了 首先程序开启了nx这个保护,但是首先buf却鲜卑mmap映射了 然后程序又调用了buf 所以这道题直接上传shellco ...
- [BUUCTF]REVERSE——findit
findit 步骤: apk文件,直接用apkide打开,找到findit文件 查看了所有的函数,没找到有关flag的线索,但是找到了一串奇怪的16进制 将第一串转换一下,感觉第二串应该是flag 拿 ...
- .Net Core服务诊断排查
前言: 近期在项目中出现了几次服务内存资源占用较高的情况,特回顾梳理下排查过程以及对相应问题的排查方法总结. 一.Dump抓取 抓取dump的方式有多种,下面介绍几种常用的: 1. 任务管理器中找到程 ...
- bootstrap.css 进度条没有动画效果
操作系统设置会影响浏览器的行为 Win+R 输入 sysdm.cpl ,3 打开 性能 的 设置 确保 窗口内动画控件和元素 被勾选