59 lines
1.8 KiB
Python
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
|