Нужно будет повторить xpath

This commit is contained in:
Oleja123 2025-03-02 22:21:57 +04:00
parent c65db1bc45
commit 834f8f0649
3 changed files with 93 additions and 0 deletions

7
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"python.testing.pytestArgs": [
"."
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
}

19
requirements.txt Normal file
View File

@ -0,0 +1,19 @@
attrs==25.1.0
certifi==2025.1.31
h11==0.14.0
idna==3.10
iniconfig==2.0.0
outcome==1.3.0.post0
packaging==24.2
pluggy==1.5.0
PySocks==1.7.1
pytest==8.3.5
selenium==4.29.0
sniffio==1.3.1
sortedcontainers==2.4.0
trio==0.29.0
trio-websocket==0.12.2
typing_extensions==4.12.2
urllib3==2.3.0
websocket-client==1.8.0
wsproto==1.2.0

View File

@ -0,0 +1,67 @@
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'