Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

python
webdriver
Теги: #<Tag:0x00007f7b697cf8d0> #<Tag:0x00007f7b697cf628>

(Alex King) #1

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

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

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

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


(Ray Romanov) #2

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

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

(Alex King) #3

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


#4

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

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

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

(Ray Romanov) #5

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