software-testing-Salin-PIbd-33/common_fixtures.py
2025-03-04 11:15:11 +04:00

59 lines
1.8 KiB
Python

import pytest
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from my_constants import EMAIL, PASSWORD
@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
@pytest.mark.order(3)
@pytest.fixture()
def open_profile(login):
profile_icon_main = login.find_element(
By.XPATH, "//*[@id='root']/div/div/nav/div/div[1]/div")
login.execute_script(
"arguments[0].scrollIntoView(true);", profile_icon_main)
profile_icon_main.click()
time.sleep(2)
the_iframe_window = login.find_element(By.ID, "kw-iframe")
login.switch_to.frame(the_iframe_window)
login.find_element(By.CLASS_NAME, 'button-back').click()
profile_icon_window = login.find_element(
By.XPATH, "//*[@id='root']/div/div[1]/div[1]/div[1]/button[1]/img")
profile_icon_window.click()
time.sleep(2)
yield login