Python Unittest: как инициализировать селен в классе и избежать двойного открытия браузера?Python

Программы на Python
Ответить
Anonymous
 Python Unittest: как инициализировать селен в классе и избежать двойного открытия браузера?

Сообщение Anonymous »

Рассмотрим приведенный ниже пример: поскольку я инициализирую драйвер в методе setUp и использую его в test_login, браузер откроется дважды: первый раз во время setUp, а затем будет закрыто и начнутся тесты.
Если я удалю логику из setUp и помещу ее в test_login, драйвер будет не определен в test_profile и TearDown
Как правильно инициализировать драйвер и использовать его во всем классе, не заставляя браузер открываться дважды?
from selenium import webdriver
import unittest
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

class Test(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()))
self.driver.get('https://example.com/login')
self.current_url = self.driver.current_url
self.dashboard_url = 'https://example.com/dashboard'

def test_login(self):
self.assertEqual(self.dashboard_url, self.current_url)

def test_profile(self):
self.driver.get('https://example.com/profile')

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


Подробнее здесь: https://stackoverflow.com/questions/751 ... g-the-brow
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»