Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

В чем разница между использованием setUp и setUpClass

webdriver
python
Теги: #<Tag:0x00007fedb9362eb0> #<Tag:0x00007fedb9362668>

(Ivan Pletin) #1

Здравствуйте.
Пишу тесты на пайтоне.
Подскажите плиз, какая разница между использованием setUp и setUpClass?
Например, я могу написать так

import unittest, time
from selenium import webdriver

class check_landing_page(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(10)
        cls.driver.get("http://www.drive.com")               
        cls.driver.title

    def test_search_invalid(self):
        бла бла бла 


    @classmethod
    def tearDownClass(cls):
        cls.driver.close()

    if __name__ == '__main__':
        unittest.main()

или так:

import unittest, time
from selenium import webdriver

class check_landing_page(unittest.TestCase):
   
    def setUp(self):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(10)
        cls.driver.get("http://www.drive.com")               
        cls.driver.title

    def test_search_invalid(self):
        бла бла бла 


    def tearDown(self):
        self.driver.close()

    if __name__ == '__main__':
        unittest.main()

(Mykhailo Poliarush) #2

https://docs.python.org/2/library/unittest.html

setUp()
Method called to prepare the test fixture. This is called immediately before calling the test method; other than AssertionError or SkipTest, any exception raised by this method will be considered an error rather than a test failure. The default implementation does nothing.

setUpClass()
A class method called before tests in an individual class run. setUpClass is called with the class as the only argument and must be decorated as a classmethod():


(Ray Romanov) #3

Во первых, почитать мануал. А так setUp - выполняется перед каждым тестом, а setUpClass - один раз перед запуском тестов в съюте.


(Ivan Pletin) #4

Другими словами, setUp будет вызываться перед каждой функцией-тестом? То есть, будет перезапускать окно браузера, в котором выполняется тест?


(Ray Romanov) #5

Совершенно верно.


(Ivan Pletin) #6

я понял. спасибо большое