import pytest import allure from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import requests
@allure.feature("Добавление книг в корзину") @pytest.mark.parametrize("book_title", ["1984 by George Orwell", "To Kill a Mockingbird by Harper Lee"]) def test_add_book_to_cart(book_title): # Открываем браузер и переходим на сайт driver = webdriver.Chrome() driver.get("https://www.chitai-gorod.ru/")
# Поиск книги по названию и добавление в корзину
search_input = driver.find_element(By.ID, "search-field")
search_input.send_keys(book_title)
search_button = driver.find_element(By.CLASS_NAME, "search-button")
search_button.click()
book_link = driver.find_element(By.CLASS_NAME, "product-card__link")
book_link.click()
add_to_cart_button = driver.find_element(By.CLASS_NAME, "buy-button")
add_to_cart_button.click()
# Проверка, что книга добавлена в корзину
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "cart-link")))
cart_link = driver.find_element(By.CLASS_NAME, "cart-link")
cart_link.click()
cart_items = driver.find_elements(By.CLASS_NAME, "cart-item")
assert any(book_title in item.text for item in cart_items)
# Закрытие браузера
driver.quit()
# Проверка, что книга добавлена в корзину через API
response = requests.get("https://www.chitai-gorod.ru/api/cart")
assert any(book_title in item["title"] for item in response.json()["items"])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.