import pytest from selenium import webdriver from selenium.webdriver.common.by import By import time EMAIL = 'jediforce82@gmail.com' PASSWORD = 'aboba123' @pytest.mark.order(1) @pytest.fixture() def driver(): driver = webdriver.Chrome() driver.maximize_window() driver.get('https://luna73.ru/') time.sleep(2) yield driver driver.close() @pytest.mark.order(2) @pytest.fixture() def login(driver): login_button = driver.find_element(By.CLASS_NAME, 'widget-overlay') driver.execute_script("arguments[0].scrollIntoView(true);", login_button) login_button.click() time.sleep(3) the_iframe = driver.find_element(By.ID, "kw-iframe") driver.switch_to.frame(the_iframe) email_field = driver.find_element(By.NAME, 'email') password_field = driver.find_element(By.NAME, 'password') email_field.send_keys(EMAIL) password_field.send_keys(PASSWORD) enter_button = driver.find_element(By.CLASS_NAME, 'login-form__button') enter_button.click() time.sleep(2) close_button = driver.find_element(By.CLASS_NAME, 'popup-close-icon') close_button.click() time.sleep(2) driver.switch_to.default_content() yield driver def test_header_len(driver): header = driver.find_elements(By.CLASS_NAME, 'menu__item') assert len(header) > 0 def test_header_navigation(driver): header = driver.find_elements(By.CLASS_NAME, 'menu__item') is_error = False for menu_item in header: driver.execute_script("arguments[0].scrollIntoView(true);", menu_item) menu_item.click() if not menu_item.is_enabled(): is_error = True break assert is_error == False def test_feedback(login): feedback_button = login.find_element(By.CLASS_NAME, 'feedback') login.execute_script("arguments[0].scrollIntoView(true);", feedback_button) feedback_button.click() time.sleep(2) textarea = login.find_element(By.CLASS_NAME, 'textarea') textarea.text = 'a'