Вопрос пользователя:
Ответ нейросети:
import pytest
from selenium import webdriver
from pages.login_page import LoginPage
from pages.inventory_page import InventoryPage
from pages.cart_page import CartPage
@pytest.fixture(scope="module")
def browser():
driver = webdriver.Chrome()
yield driver
driver.quit()
def test_purchase_items(browser):
login_page = LoginPage(browser)
login_page.open()
login_page.login_as_standard_user()
inventory_page = InventoryPage(browser)
inventory_page.add_item_to_cart("Sauce Labs Backpack")
inventory_page.add_item_to_cart("Sauce Labs Bolt T-Shirt")
inventory_page.add_item_to_cart("Sauce Labs Onesie")
inventory_page.go_to_cart()
cart_page = CartPage(browser)
cart_page.checkout()
cart_page.fill_out_form("John", "Doe", "12345")
total_price = cart_page.get_total_price()
assert total_price == "$58.29"
# login_page.py
from selenium.webdriver.common.by import By
from base_page import BasePage
class LoginPage(BasePage):
def login_as_standard_user(self):
self.driver.find_element(By.ID, "user-name").send_keys("standard_user")
self.driver.find_element(By.ID, "password").send_keys("secret_sauce")
self.driver.find_element(By.ID, "login-button").click()
# inventory_page.py
from selenium.webdriver.common.by import By
from base_page import BasePage
class InventoryPage(BasePage):
def add_item_to_cart(self, item_name):
self.driver.find_element(By.XPATH, f"//div[text()='{item_name}']/following-sibling::div/button").click()
def go_to_cart(self):
self.driver.find_element(By.CLASS_NAME, "shopping_cart_link").click()
# cart_page.py
from selenium.webdriver.common.by import By
from base_page import BasePage
class CartPage(BasePage):
def checkout(self):
self.driver.find_element(By.XPATH, "//a[text()='CHECKOUT']").click()
def fill_out_form(self, first_name, last_name, postal_code):
self.driver.find_element(By.ID, "first-name").send_keys(first_name)
self.driver.find_element(By.ID, "last-name").send_keys(last_name)
self.driver.find_element(By.ID, "postal-code").send_keys(postal_code)
self.driver.find_element(By.XPATH, "//input[@value='CONTINUE']").click()
def get_total_price(self):
return self.driver.find_element(By.CLASS_NAME, "summary_total_label").text
# base_page.py
class BasePage:
def __init__(self, driver):
self.driver = driver
def open(self):
self.driver.get("https://www.saucedemo.com/")
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.