У меня есть два файла: test_e2e.py и CheckOutPage.py . В CheckOutPage.py есть метод ' getProducts () ', который возвращает список всех элементов, имеющих конкретный xpath. Этот список возвращается в переменную ' products ', которая находится в test_e2epage.py . Теперь я просматриваю список ' products ' и пытаюсь применить метод ' getProductName () ', который присутствует CheckOutPage.py , но я не может этого сделать. Код ниже.
CheckOutPage.py-
from selenium.webdriver.common.by import By
class CheckOutPage:
def __init__(self, driver): #Constructor
self.driver = driver
products = (By.XPATH, "//div[@class='card h-100']")
productName = (By.XPATH, "div/h4/a")
def getProducts(self):
return self.driver.find_elements(*CheckOutPage.products)
def getProductName(self):
return self.driver.find_element(*CheckOutPage.productName)
test_e2e.py-
import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
# @pytest.mark.usefixtures("setup")
from pageObjects.CheckOutPage import CheckOutPage
from pageObjects.HomePage import HomePage
from utilities.BaseClass import BaseClass
class TestOne(BaseClass):
def test_e2e(self):
# Select only Blackberry.
checkOutPage = CheckOutPage(self.driver)
products = checkOutPage.getProducts()
for product in products:
#productName = product.find_element_by_xpath("div/h4/a").text
Name = product.checkOutPage.getProductName()
if Name == "Blackberry":
product.checkOutPage.selectProduct().click()
break
Код не работает в третьей строке l oop в test_e2e.py. Ошибка: « AttributeError: объект 'webElement' не имеет атрибута 'checkoutPage' ». Пожалуйста, помогите мне, ребята. Я застрял.