属性错误:';谷歌搜索&x27;对象没有属性';驱动程序&x27;在通过Python unittest执行测试时
我用这篇文章和PyCharm做了一个项目 代码试用:属性错误:';谷歌搜索&x27;对象没有属性';驱动程序&x27;在通过Python unittest执行测试时,python,selenium,selenium-webdriver,webdriver,python-unittest,Python,Selenium,Selenium Webdriver,Webdriver,Python Unittest,我用这篇文章和PyCharm做了一个项目 代码试用: from selenium import webdriver import unittest from selenium.webdriver.common.keys import Keys class GoogleSearch(unittest.TestCase): def setUpp(self): self.driver = webdriver.Chrome(executable_path="C:\Pytho
from selenium import webdriver
import unittest
from selenium.webdriver.common.keys import Keys
class GoogleSearch(unittest.TestCase):
def setUpp(self):
self.driver = webdriver.Chrome(executable_path="C:\Python37-32\geckodriver-v0.23.0-win64\geckodriver.exe")
self.driver.get('https://www.google.by')
self.driver.maximize_window()
self.driver.implicitly_wait(10)
def test_01(self):
driver = self.driver
input_field = driver.find_element_by_class_name('class="gLFyf gsfi"')
input_field.send_keys('python')
input_field.send_keys(Keys.ENTER)
错误:
FAILED (errors=1)
Error
Traceback (most recent call last):
File "C:\Python37-32\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\Python37-32\lib\unittest\case.py", line 615, in run
testMethod()
File "D:\QA\untitled\test.py", line 13, in test_01
driver = self.driver
AttributeError: 'GoogleSearch' object has no attribute 'driver'
Process finished with exit code 1
我不知道如何修复它…此错误消息
AttributeError: 'GoogleSearch' object has no attribute 'driver'
…表示单元测试有初始化错误
我在您的代码块中没有看到任何这样的错误,但是setUp()
方法中有一个问题。几句话:
:def setUp(self):
是初始化的一部分,此方法将在您将在此testcase类中编写的每个测试函数之前被调用。您将setUp()
错误拼写为setUp(self)
setUpp(self)
- 如果您使用的是
,则需要通过chromedriver的绝对路径,但您已经提供了geckodriverwebdriver.Chrome()
- 传递键
时,通过单引号和原始executable\u path
开关提供值r
:在每个测试方法之后调用def tearDown(self):
方法。这是执行所有清理操作的方法tearDown()
名称:此行将如果
变量设置为具有值\uuuuuuuu name\uuuuuuuuu
。如果此文件是从另一个模块导入的,则“\uuuuuuu main\uuuuuuuuu”
将设置为另一个模块的名称李>\uuuu name\uuuu
- 您将在中找到详细的讨论
- 根据上述几点,您的有效代码块将是:
import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys class GoogleSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe') self.driver.get('https://www.google.by') self.driver.maximize_window() self.driver.implicitly_wait(10) def test_01(self): driver = self.driver input_field = driver.find_element_by_class_name('class="gLFyf gsfi"') input_field.send_keys('python') input_field.send_keys(Keys.ENTER) def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
- 您可以在中找到相关的讨论