我正在使用selenium和python进行自动化。以下是我创建的两个.py文件:
Browser.py:
from selenium import webdriver
class Browser:
def GoTo(self, url):
browser.get(url)
browser = webdriver.Firefox()
Login.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'"
我在这里忽略了什么。在努力寻找错误之后发布这个。请帮助!
答案 0 :(得分: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)