1

我正在使用 selenium 和 python 进行自动化。这是我创建的两个 .py 文件:

浏览器.py:

from selenium import webdriver

class Browser:

    def GoTo(self, url):
        browser.get(url)

browser = webdriver.Firefox()

登录.py:

import unittest
from Browser import *

class Test(unittest.TestCase):

    def setUp(self):
        pass

    def test_Can_Login(self):
        browser.GoTo("http://www.google.co.in")

if __name__ == "__main__":
    unittest.main()

当我运行 Login.py 时,Firefox 会打开但什么也不做。它抛出一个错误说:

"Traceback (most recent call last):
  File "/media/Pinku/Tests/src/Login.py", line 10, in test_Can_Login
    browser.GoTo("http://www.google.co.in")
AttributeError: 'WebDriver' object has no attribute 'GoTo'"

我在这里俯瞰什么吗。在努力寻找错误后发布此内容。请帮助!

4

1 回答 1

2

这是因为您browser是 的实例Firefox,而不是您定义的类。

class Test(unittest.TestCase):
    def setUp(self):
        self.browser = Browser()
    def test_Can_Login(self):
        self.browser.GoTo("http://www.google.co.in")

但是,如果要包装 的功能Firefox,则应考虑对其进行子类化,而不是使用全局变量。

class Browser(webdriver.Firefox):
    def GoTo(self, url):
        self.get(url)
于 2013-05-11T18:42:50.037 回答