首页 > 解决方案 > 面对 TypeError:未绑定的方法 setUpClass() 必须使用 HomePageTest 实例作为第一个参数调用(什么都没有)

问题描述

这是我尝试过的以下脚本

import unittest
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By


class HomePageTest (unittest.TestCase):

    def setUpClass(self):
        self.driver = webdriver.Firefox()
        self.driver.get("http://magento-demo.lexiconn.com/")
        self.driver.maximize_window()

    def test_searchbox(self):
        driver=self
        driver.assertTrue (driver.is_element_present (By.ID,"search"))
        driver.assertTrue (driver.driver.find_element_by_id("search").is_enabled())


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

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True

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

标签: pythonselenium

解决方案


您需要制作 setUpClass - 和 tearDownClass - 类方法:

@classmethod
def setUpClass(cls):
    ...

@classmethod
def tearDownClass(cls):
    ...

请参阅单元测试文档


推荐阅读