python - 面对 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)
解决方案
您需要制作 setUpClass - 和 tearDownClass - 类方法:
@classmethod
def setUpClass(cls):
...
@classmethod
def tearDownClass(cls):
...
请参阅单元测试文档。
推荐阅读
- python - 如何使用 split() 遍历多个项目并使用 for 循环检查元音?
- java - 条件“if (height_spinner.getSelectedItemPosition()==1)”没有被执行
- qt - 如何使用 QTest 模拟拖放操作
- javascript - 尝试使用选择标记执行 jquery 传递值,而不是请求表单动作到 laravel 中的模态
- python - Python - 使用带有 ODEINT 的 Kronecker Delta
- c# - 如何在 c# 中获取 https 调用中的标头值
- apache-spark - 通过保留顺序来收集设置
- python - 循环遍历 int 数组,如果后面的 int 等于当前则返回 True
- c# - 在 json 中嵌套 JSON 数组
- sql - 可以给用户留下反馈的用户的 SQL 表设计