68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
|
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'
|