Получаю ошибку MaxRetryError при проведении автотестов в Pycharm

Файл с тестами выглядит так:

from selenium import webdriver
from link import link2
from pages.main_page import MainPage
import time

browser = webdriver.Chrome()
page = MainPage(browser, link2)
login = "tomsmith"
password = "SuperSecretPassword!"


def test_correct_login():
    page.open(link2)
    page.prompt_usrnm(login)
    page.prompt_psswrd(password)
    page.confirm()
    if page.check():
        print("Login successful!")
    else:
        print("Incorrect login o password!")
    page.close()
    time.sleep(2)

def test_incorrect_login():
    page.open(link2)
    login = " rrr"
    password = " rrr"
    page.prompt_usrnm(login)
    page.prompt_psswrd(password)
    page.confirm()
    if page.check():
        print("Login successful!")
    else:
        print("Incorrect login o password!")
    page.close()

Файл main_page


class MainPage(BasePage):

    def confirm(self):
        btn = self.browser.find_element_by_class_name("radius")
        btn.click()
    def prompt_usrnm(self, username):
        self.username = username
        user_name = self.browser.find_element_by_name("username")
        user_name.send_keys(username)
    def prompt_psswrd(self, psswrd):
        self.psswrd = psswrd
        password = self.browser.find_element_by_name("password")
        password.send_keys(psswrd)
    def check(self):
        success = self.browser.find_element_by_class_name("subheader")
        success_text = success.text
        if success_text == "Welcome to the Secure Area. When you are done click logout below.":
            return True
        else:
            return False

Файл basepage

class BasePage(object):
    def __init__(self, browser, url, timeout = 10):
        self.browser = browser
        self.url = url
        self.browser.implicitly_wait(timeout)
    def open(self, url):
        self.browser.get(self.url)
        return self.browser
    def close(self):
        self.browser.quit()
        return self.browser

Первый тест проходит удачно, второй падает. При этом не открывается окно браузера даже. Никак не могу понять, в чем дело. Приблизительно такой же код по сути через фикстуру но без использования page objects работает нормально.

import pytest
from selenium import webdriver
from link import link2

@pytest.fixture(autouse=True)
def browser():
    print("\nstart browser for test..")
    browser = webdriver.Chrome()
    browser.implicitly_wait(10)
    browser.get(link2)
    yield browser
    print("quit browser")
    browser.quit()
    return browser
#page = MainPage(browser, link2)

class TestLoginPage():
    # вызываем фикстуру в тесте, передав ее как параметр
    def test_correct_login(self, browser):
        user_name = browser.find_element_by_name("username")
        user_name.send_keys("tomsmith")
        password = browser.find_element_by_name("password")
        password.send_keys("SuperSecretPassword!")
        btn = browser.find_element_by_class_name("radius")
        btn.click()
        success = browser.find_element_by_class_name("subheader")
        success_text = success.text
        assert success_text == "Welcome to the Secure Area. When you are done click logout below.", "Incorrect login!"


    def test_incorrect_login(self, browser):
            user_name = browser.find_element_by_name("username")
            user_name.send_keys("tosmith")
            password = browser.find_element_by_name("password")
            password.send_keys("SuperSecretPassord!")
            btn = browser.find_element_by_class_name("radius")
            btn.click()
            success = browser.find_element_by_class_name("subheader")
            success_text = success.text
            assert success_text == "Welcome to the Secure Area. When you are done click logout below.", "Incorrect login!"

в файле link лежит ссылка "http://the-internet.herokuapp.com/login"

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

self.browser.quit()

Однако в варианте с фикстурой данный метод не вызывает проблем. Задача стоит в том, чтобы организовать код через page object model, при этом чтобы после выполнения каждого теста окно браузера закрывалось, и открывалось новое для выполнения следующего. Собственно вопрос в том, как это сделать, чтобы тесты не падали после выполнения первого с данной ошибкой. Если есть возможность, объясните, как будто мне 5 лет, потому что это мой первый проект по написанию автотестов и в целом первый на питоне

собственно последние 2 строки из консольного лога ошибки (сам по себе он очень длинный, поэтому не включаю полностью):

 urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=53791): Max retries exceeded with url: /session/34ee3b1fe3fdf53b52113e5f385aa376/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000002A076986EE0>: Failed to establish a new connection: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение'))
venv\lib\site-packages\urllib3\util\retry.py:574: MaxRetryError

Ответы (0 шт):