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

Silenium+Python - повторный запуск браузера

Теги: #<Tag:0x00007f9b02653d90> #<Tag:0x00007f9b02653bb0>

У меня проблема с повторным запуском браузера.
Я так понимаю, что браузер запускается при создании экземпляра класса.
В начале скрипта пишешь driver = webdriver.Firefox(), потом действия с ним.

Так, вот если я например залогинился, сделал действие, разлогинился и пытаюсь снова залогинится но уже другим пользователем что бы сделать другие действия, скрипт падает говорит что уже не может залогинится.

Возможно это связано с тем что этот процесс логина я сложил в функцию и потом вызываю через функцию только подменяю разные данные пользователя, но почему падает я так и не выяснил.

И решил что если, не разлогиниватся, а просто вырубать браузер и при запуске скрипта логина запускать заново. как это можно сделать ? запускать браузер не когда создаешь экземпляр класса, а просто в средине скрипта?

Какой кошмар :slightly_smiling:
По шагам:

  1. Разлогинимся.
  2. Логинимся други мользователем.

То есть не через функцию, а просто тупо 20 строк одинаковых?

@Alex_King можешь в конце каждого теста - закрывать браузер.

для разных пользователей использовать:

@pytest.mark.parametrize('username',['Katya','Petya','Natasha'])
def test_login(username):
    pass

Зачем, можно запилить это в функции авторизации…