python selenium unittest Fixture(setUp/tearDown)笔记
Fixture用途:
1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现
2.测试用例的前置条件可以使用fixture实现
Fixture使用:
import unittest def setUpModule():
print(">>>>>>>>>>测试模块开始<<<<<<<<<<") def tearDownModule():
print(">>>>>>>>>>测试模块开始<<<<<<<<<<") class MyTest(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print('✈✈✈✈测试类开始执行✈✈✈✈!') def setUp(self) -> None:
print('♥❤♥❤测试方法开始执行♥❤♥❤!') def tearDown(self) -> None:
print('♥❤♥❤测试方法执行完毕♥❤♥❤!') @classmethod
def tearDownClass(cls) -> None:
print('✈✈✈✈测试类执行完毕✈✈✈✈!') def test_case1(self):
print("test_case1") def test_case2(self):
print("test_case2") if __name__ == '__main__':
unittest.main()
>>>>>>>>>>测试模块开始<<<<<<<<<<
✈✈✈✈测试类开始执行✈✈✈✈!
♥❤♥❤测试方法开始执行♥❤♥❤!
test_case1
♥❤♥❤测试方法执行完毕♥❤♥❤!
♥❤♥❤测试方法开始执行♥❤♥❤!
test_case2
♥❤♥❤测试方法执行完毕♥❤♥❤!
✈✈✈✈测试类执行完毕✈✈✈✈!
>>>>>>>>>>测试模块开始<<<<<<<<<<在模块的开始于结束时被执行
- setUpModule/tearDownModule:在整个模块的开始于结束时被执行
- setUpClass/tearDownClass:在测试类的开始于结束时被执行
- setUp/tearDown:在测试用例的开始于结束时被执行
值得注意的是setUpClass/tearDownClass为类方法,需要通过@classmethod进行装饰。另外方法的参数为cls,cls与self并没有什么本质区别,都只表示方法的第一个参数
封装:
import unittest
import warnings
from common.base_page import BasePage
from common.browser import Browser
from common.config_utils import local_config
from common.log_utils import logger class SeleniumBaseCase(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
logger.info('')
logger.info('✈✈✈✈测试类开始执行✈✈✈✈!')
warnings.simplefilter('ignore', ResourceWarning)
cls.url = local_config.test_url def setUp(self) -> None:
logger.info('♥❤♥❤测试方法开始执行♥❤♥❤!')
self.base_page = BasePage(Browser().get_driver())
self.base_page.set_driver() # 封装了代码的隐式等待与浏览器最大化 def tearDown(self) -> None:
logger.info('♥❤♥❤测试方法执行完毕♥❤♥❤!')
self.base_page.quit_browser() @classmethod
def tearDownClass(cls) -> None:
logger.info('✈✈✈✈测试类执行完毕✈✈✈✈!')
python selenium unittest Fixture(setUp/tearDown)笔记的更多相关文章
- Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...
- Python+selenium+unittest+HTMLTestReportCN单元测试框架分享
分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测 ...
- python单元测试unittest、setUp、tearDown()
单元测试反应的是一种以测试为驱动的开发模式,最大的好处就是保证一个程序模块的行为符合我们设计的测试用例,在将来修改的时候,可以极大程度保证该模块行为仍然是正确的. 下面我编写一个Dict来,这个类的行 ...
- python+selenium +unittest生成HTML测试报告
python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...
- python+selenium+unittest,爬虫电影网站
以前经常在这个网站上下载电影下来看,这个网站比较坑的就是,主页上只有电影的名称,但是评分是看不到的:只有再点击电影名字,进入电影主页时才能看到评分.一般下载的电影都是评分高的才看,低的就忽略掉了.每次 ...
- Python + selenium + unittest装饰器 @classmethod
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- selenium中的setUp,tearDown与setUpClass,tearDownClass的区别
def setUpClass(cls): cls.driver = webdriver.Chrome() cls.driver.maximize_window() def setUp(self): s ...
- Python+Selenium ----unittest单元测试框架
unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java ...
- python selenium --unittest 框架
转自:http://www.cnblogs.com/fnng/p/3300788.html 学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习sele ...
随机推荐
- Java中的匿名对象代码实例
/* 匿名对象:就是没有名字的对象. 匿名对象的应用场景: A:调用场景,仅仅只调用一次的时候. 注意:调用多次的时候,不合适. 那么,这种匿名调用有什么好处吗? 有,匿名对象调用完毕就是垃圾.可以被 ...
- 算法笔记刷题2(codeup 1928)
又磕了一晚上,多点测试真的很烦 ,完全不知道错哪里,后来发现是我变量名命名不规范导致自己晕了填错了,其实思路还是对的 我觉得书上的做法也还行,但我不太喜欢用二维数组,所以拿以前写的算天数的程序改装了一 ...
- 总结php删除html标签和标签内的内容的方法
来源:https://www.cnblogs.com/shaoguan/p/7336984.html 经常扒别人网站文章的坑们:我是指那种批量式采集的压根不看内容的:少不了都会用到删除html标签的函 ...
- phpcms模块安装
工作中需要用到 phpcms开源框架,借鉴了 http://www.cnblogs.com/benpaodelulu/p/6874201.html这个地址,搞定的 ,非常实用 如果有用到的朋友们可 ...
- python字符串 提取括号中的内容
返回值是一个列表 re.findall(r'[(](.*?)[)]', str1)
- [Qt] 打开文件夹 Windows
bool ok = QDesktopServices::openUrl(QUrl("c:/users/administrator/desktop/dir"));
- [Windows]允许未签名的驱动
bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING OFF https://social ...
- opencv-0-项目启程
opencv-0-项目启程 opencvC++QT 开始 无数次说要开始 opencv 的系列, 但是都由于各种原因没有坚持下去, 这次我做最后一次尝试, 也做最后一次坚持, 如果不做下去, 我就再也 ...
- Linux系统目录结构:目录层次标准、常用目录和文件
1. 目录层次标准FHS FHS(Filesystem Hierarchy Standard)目录层次标准,是Linux的目录规范标准. FHS定义了两层规范: 第一层:是"/" ...
- JavaWEB开发时FCKeditor类似office界面的ajax框架,加入后就能做界面类似office,能进行简单的文本编辑操作+配置手册...
2019独角兽企业重金招聘Python工程师标准>>> FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的 ...