Для написания автотеста для проверки удаления книги из корзины на сайте https://www.chitai-gorod.ru/ с использованием зависимостей selenium, requests, pytest и allure, можно использовать следующий пример кода:
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 @allure.feature("Удаление книги из корзины") @pytest.mark.parametrize("book_name", ["Book1", "Book2"]) # Параметризация теста для проверки удаления разных книг def test_remove_book_from_cart(book_name): driver = webdriver.Chrome() driver.get("https://www.chitai-gorod.ru/") # Добавление книги в корзину search_input = driver.find_element(By.ID, "search-input") search_input.send_keys(book_name) search_button = driver.find_element(By.ID, "search-button") search_button.click() add_to_cart_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(text(),'Добавить в корзину')]"))) add_to_cart_button.click() # Переход в корзину cart_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@href,'/cart/')]"))) cart_button.click() # Удаление книги из корзины remove_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(text(),'Удалить')]"))) remove_button.click() # Проверка успешного удаления книги empty_cart_message = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(text(),'Корзина пуста')]"))) assert "Корзина пуста" in empty_cart_message.text allure.attach(driver.get_screenshot_as_png(), name="screenshot", attachment_type=allure.attachment_type.PNG) driver.quit()
Для запуска теста можно использовать команду pytest --alluredir=./results
, а затем для генерации отчета Allure - allure serve ./results
.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.