对象没有属性“驱动程序”

时间:2021-05-30 17:22:13

标签: python selenium selenium-webdriver


您好,我正在尝试构建一个自动化基础设施,我构建了一个 ObjectRepository,其中命令在 selenium 中实现,我使用 ObjectTest 并将函数传递给 TestOne。
错误是:

TestOne :: test_one - AttributeError: 'ObjectTest' object has no attribute 'driver'

class ObjectRepository:

    def __init__(self, driver):
        self.driver = driver

    def click1(self, element):
        return self.driver.find_element_by_xpath(element).click()
class ObjectTest:

    search = (By.XPATH, "//a[contains(text(),'Gmail')]")

    def click_gmail(self):
        a = ObjectRepository(self.driver)
        a.click1(*ObjectTest.search)
class TestOne(Base.Base):

    def test_one(self):
        one = ObjectTest()
        one.click_gmail()

1 个答案:

答案 0 :(得分:1)

从问题中的代码我看不到

  1. class ObjectRepository 中定义和初始化的驱动程序被传递到 class ObjectTest
  2. 有一个导入,例如
from selenium import webdriver

class ObjectRepository 中,以便 Python 会“理解”self.driver = driver 的含义