首页 > 编程语言 > 详细

python selenium unittest Fixture(setUp/tearDown)笔记

时间:2020-05-10 19:38:23      阅读:65      评论:0      收藏:0      [点我收藏+]

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)笔记

原文:https://www.cnblogs.com/ClownAlin/p/12864361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!