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 ...
随机推荐
- react: typescript interface useState issue
define interface: interface ILoginState { imageId: string; imageSrc: string; username: string; passw ...
- win10好用的桌面工具分享+网盘下载链接
1.Everything Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name in ...
- Qt 正则表达式检查 IP 格式
KillerSmath 2018年6月29日 下午10:41 @Pranit-Patil Hi there. Like @jonB says above, you should to replace\ ...
- 徐州I
#include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #defi ...
- css之颜色表示法
css之颜色表示法 十六进制颜色 所有浏览器都支持十六进制颜色值. 十六进制颜色是这样规定的:#RRGGBB,其中的 RR(红色).GG(绿色).BB(蓝色)十六进制整数规定了颜色的成分.所有值必须介 ...
- Django入门3:视图views
1.获取用户请求数据 1.1 request.GET 获取request.method='GET'的数据 request.GET.get('name',None) 1.2 request.POST 获 ...
- AMD 开源照片级渲染引擎 Radeon ProRender
除了Radeon Pro WX.Radeon Pro Solid State两款全新的专业显卡,AMD今天还宣布,Radeon ProRender渲染引擎即将开放源代码,开发人员可任意使用.AMD去年 ...
- Clickhouse 时区转换(下)
Clickhouse 时区转换续—时区参数转换 天天加班,时间不够,主要还是我太懒,流汗,,,,,,另外如果这篇学习笔记超过100阅读量并有评论,我可能半夜也会爬起来更新的. 相信大家看我之前记录的这 ...
- .Net Core中使用Dapper构建泛型仓储
前言:Dapper是.NET的简单对象映射器,在速度方面拥有ORM之王的称号,与使用原始ADO.NET读取数据一样快.ORM是对象关系映射器,它负责数据库和编程语言之间的映射. 仓储主要是用来解耦业务 ...
- 再谈 PHP 未来之路
前段时间我写过一篇博文<phper:敢问路在何方>,分析了 PHPer 的困境以及 PHP 程序员的学习.进阶突破之路.同时我在知乎上也发过类似的提问.从大家的评论和回答看,大体分为以下几 ...