t.me/atinfo_chat Telegram группа по автоматизации тестирования

Правильный вызов драйвера Python, selenium

Теги: #<Tag:0x00007f74976f61d0> #<Tag:0x00007f74976f60e0> #<Tag:0x00007f74976f6018> #<Tag:0x00007f74976f5f00>

Здравствуйте!

Нужно пару советов по python.

Пишут тест на регистрацию. В одном файле два тесовых класса. Один отдает код страницы. Другой заполняет форму.

Как правильно организовать вызов драйвера? Ошибка в том что то бы хоть что то вообще начало происходить нужно вызвать драйвер два раза. Ну он и открывает браузер два раза. А классы должны наследоваться. То есть, открыл браузер, на тебе - тест 1- ок, далее не закрывая браузер - заполнил форму.

И еще вопрос. Как организовать вызов драйвера в одном файле и потом просто его вызывать от туда одной функцией?

Вот.

from core.settings import *


class RegestrationGetPage (unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome(chromedriver)

    def test_UserRegistrationGetPage(self):
        driver = self.driver
        driver.get(regestrationpage)
        regestrationpageStatus = requests.get(regestrationpage)
        print(regestrationpageStatus)

class CrateNewUser (unittest.TestCase):
    
    def setUp(self):
        self.driver = webdriver.Chrome(chromedriver)

    def test_CreateNewUser(self):
        driver = self.driver
        name = driver.find_element_by_class_name("name")
        name.send.keys("username")


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

Создайте объект драйвера в третьем классе и передавайте его куда надо.

Смотрите как у Баранцева в примерах это сделано: