web自动化报错:'TestUnit1' object has no attribute 'driver',调试调试。

web自动化报错:'TestUnit1' object has no attribute 'driver',大神帮忙调试调试。
代码如下:

from time import sleep ... testcase_methods = list(testcase_class. .keys()) ... wd.get('
from time import sleep

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
import unittest




class MyTestLoader(unittest.TestLoader):
    def getTestCaseNames(self, testcase_class):
        # 调用父类的获取“测试方法”函数
        test_names = super().getTestCaseNames(testcase_class)
        # 拿到测试方法list
        testcase_methods = list(testcase_class.__dict__.keys())
        # 根据list的索引对testcase_methods进行排序
        test_names.sort(key=testcase_methods.index)
        # 返回测试方法名称
        return test_names
'''访问目标网址'''

wd = webdriver.Chrome()  # 创建一个webdriver的实例对象
wd.get('http://admintest.sv1.k9s.run:2271/platform-framework/index.html')
# wd.maximize_window()

class TestUnit1(unittest.TestCase):

    def setUp(self):
        """登录系统"""

        element = self.driver.find_element(By.XPATH, '//input[@placeholder="账号"]')
        element.send_keys('ceshi')
        element = self.driver.find_element(By.XPATH, '//input[@placeholder="密码"]')
        element.send_keys('ceshi')
        set_elem = self.driver.find_element(By.XPATH, '//button[@type="button"]')
        ActionChains(self).click(set_elem).perform()
        sleep(2)
        # 点击编辑商品
        self.driver.find_element(By.XPATH, '//span[contains(text(),"编辑商品")]').click()
        sleep(2)
        # 点击产品设置
        self.driver.find_element(By.XPATH, '//body/div[@id="mainApp"]/nav[1]/div[2]/div[1]/ul[1]/li[4]/ul[1]/li[2]/a[1]').click()

        name = self.driver.find_element(By.XPATH, '//iframe[@name="iframe15"]')
        self.driver.switch_to.frame(name)

    def test_added(self):
        """新增产品设置"""
        # 点击新增
        self.driver.find_element(By.XPATH, '//body[1]/div[1]/div[1]/div[1]/div[2]/button[1]/span[1]/i[1]').click()
        sleep(1)
        # 编辑新增的产品信息
        self.driver.find_element(By.XPATH, '//input[@class="ivu-select-input"]').click()
        self.driver.find_element(By.XPATH, '//li[contains(text(),"大保健")]').click()
        sleep(1)
        self.driver.find_element(By.XPATH,
                                  '//body[1]/div[1]/div[2]/div[2]/form[1]/div[2]/div[1]/div[1]/div[1]/input[2]').click()
        self.driver.find_element(By.XPATH, '//li[contains(text(),"重量")]').click()
        self.driver.find_element(By.XPATH, '//textarea[@class="ivu-input"]').send_keys('重量为2kg')
        sleep(2)
        self.driver.find_element(By.XPATH, '//span[contains(text(),"提交")]').click()
        # 弹出确认框框
        self.driver.find_element(By.XPATH, '//a[contains(text(),"确定")]').click()
        sleep(1)

    def test_madify(self):
        """修改产品设置"""
        # 勾选其中一个产品设置
        self.driver.find_element(By.XPATH, '//tbody/tr[@id="65"]/td[2]').click()
        # 点击修改
        self.driver.find_element(By.XPATH, '//button[@class="ivu-btn ivu-btn-warning"]').click()
        sleep(1)
        # 编辑修改信息
        username = self.driver.find_element(By.XPATH, '//textarea[@class="ivu-input"]')
        username.send_keys('web自动化')
        self.driver.find_element(By.XPATH, '//span[contains(text(),"提交")]').click()
        sleep(2)
        # 弹出确认弹框
        self.driver.find_element(By.XPATH, '//a[contains(text(),"确定")]').click()
        sleep(2)

    def test_delete(self):
        """删除产品设置"""

        # 勾选其中一个产品设置
        self.driver.find_element(By.XPATH, '//tbody/tr[@id="60"]/td[2]').click()
        # 点击删除
        self.driver.find_element(By.XPATH, '//body[1]/div[1]/div[1]/div[1]/div[2]/button[3]/span[1]/i[1]').click()
        # 弹出删除确认弹框
        self.driver.find_element(By.XPATH, '//a[contains(text(),"确定")]').click()

    def tearDowm(self):
        driver.switch_to.default_content()
        sleep(2)
        wd.driver.quit()


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

你把报错复制出来发给我看一下

img

你这儿testcase没有传driver进去,你继承的是unittest.TestCase,而你driver用的是self.driver, 但是unittest.TestCase里面是不提供的driver, 要么在driver前面不要加self, 要么在TestUnit1这个类下面定义一下driver,可以写 driver = driver