python单元测试中的属性错误

python单元测试中的属性错误,python,selenium-webdriver,phantomjs,Python,Selenium Webdriver,Phantomjs,在执行此单元测试时 AttributeError:“BaseUnit”对象没有属性“driver” import unittest import redis from selenium import webdriver redis = redis.Redis(host='abc', port='123') keys = redis.keys('*') raw_baseunit = redis.get('test:baseunit')`enter code here` class BaseUni

在执行此单元测试时

AttributeError:“BaseUnit”对象没有属性“driver”

import unittest
import redis
from selenium import webdriver
redis = redis.Redis(host='abc', port='123')
keys = redis.keys('*')
raw_baseunit = redis.get('test:baseunit')`enter code here`

class BaseUnit(unittest.TestCase):
        def setup(self):
                self.driver = webdriver.PhantomJS()

        def test(self):
                self.driver.get("myurl")
                self.driver.find_element_by_id('username').send_keys("ngeo_pur1")
                self.driver.find_element_by_id('password').send_keys("anything")
                self.driver.find_element_by_xpath('html/body/div[1]/div[3]/div/section/div/form/ul/li[5]/div[2]/div/input').click()
                self.driver.get("url")
                self.driver.find_element_by_partial_link_text("18757424").click()
                self.driver.find_element_by_xpath(".//*[@id='tabs']/nav/ul/li[2]/a/i").click()
                Actual = self.driver.find_element_by_xpath(".//*[@id='subcat_baseModelSection.baseModelChoice']/div/div[1]").text

                keys = redis.keys('*')
                raw_baseunit = redis.get('test:baseUnit')
                print "Actual Base Unit=",Actual
                print "Expected Base Unit=",raw_baseunit
                self.assetEquals(raw_baseunit,Actual)

        def teardown(self):
                self.driver.quit()

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

已尝试更改类名“BaseUnit”

请尝试将设置类的名称修改为该名称。我刚刚读了文档,setup类是用大写的U写的

def setUp(self):
        self.driver = webdriver.PhantomJS()

在中要覆盖的方法是
setUp
tearDown
(注意大写字母“U”和“D”),而不是
setUp
tearDown


您的全小写
设置
方法在测试方法运行之前不会被调用(如果它被调用的话),因此当
测试
方法尝试使用它时,
self.driver
属性不存在。

您可以添加完整的回溯吗?这将有助于解决@lapinkoira Traceback(最近一次调用last)的问题:文件“unittest\u base\u unit.py”,在test self.driver.get(“link”)AttributeError中的第13行:“BaseUnit”对象没有属性“driver”----------------------------------------------------------------在0.001s中运行了1个测试首次尝试打印self.driver对象,看到了吗?你的设置功能不正确?应该是
setUp
这是一个打字错误问题,应该删除。将类名更改为def setUp(self):解决了该问题。谢谢,欢迎光临。检查文档中方法名称的其余部分,并将此答案标记为已接受(如果它有助于您:)