import pytest import allure from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select
@allure.feature("Оформление заказа книги") @pytest.mark.parametrize("book_title, quantity, customer_name, customer_email, customer_phone", [("War and Peace", 2, "John Doe", "[email protected]", "1234567890")]) def test_order_book(book_title, quantity, customer_name, customer_email, customer_phone): @allure.title("Тест на оформление заказа книги") @allure.description("Тест проверяет успешное оформление заказа книги на сайте") def test_order_book(self, book_title, quantity, customer_name, customer_email, customer_phone): driver = webdriver.Chrome() driver.get("https://www.chitai-gorod.ru/")
search_box = driver.find_element(By.ID, "search-input")
search_box.send_keys(book_title)
search_button = driver.find_element(By.CLASS_NAME, "search__btn")
search_button.click()
book_link = driver.find_element(By.CLASS_NAME, "product-card__title")
book_link.click()
quantity_select = Select(driver.find_element(By.NAME, "quantity"))
quantity_select.select_by_value(str(quantity))
add_to_cart_button = driver.find_element(By.CLASS_NAME, "product__add-to-cart")
add_to_cart_button.click()
checkout_button = driver.find_element(By.CLASS_NAME, "cart__checkout")
checkout_button.click()
customer_name_input = driver.find_element(By.NAME, "customer_name")
customer_name_input.send_keys(customer_name)
customer_email_input = driver.find_element(By.NAME, "customer_email")
customer_email_input.send_keys(customer_email)
customer_phone_input = driver.find_element(By.NAME, "customer_phone")
customer_phone_input.send_keys(customer_phone)
place_order_button = driver.find_element(By.CLASS_NAME, "checkout__place-order")
place_order_button.click()
assert "Заказ успешно оформлен" in driver.page_source
driver.quit()
allure.dynamic.title(f"Оформление заказа книги: {book_title}")
allure.dynamic.description(f"Количество: {quantity}, Имя клиента: {customer_name}, Email: {customer_email}, Телефон: {customer_phone}")
with allure.step("Выполнение теста"):
test_order_book(book_title, quantity, customer_name, customer_email, customer_phone)
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.