有没有哪位大佬知道这个问题如何解决,代码如下
创建ddtDemo.py 文件
import ddt, unittest
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
@ddt.ddt
class TestBaiduDemo2(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.base_url = 'https://www.baidu.com'
def baidu_search(self, search_key):
self.driver.get(self.base_url)
self.driver.find_element(By.ID, 'kw').clear()
self.driver.find_element(By.ID, 'kw').send_keys(search_key)
self.driver.find_element(By.ID, 'su').click()
sleep(3)
@ddt.data(
('case_1', 'selenium'),
('case_2', 'unittest'),
('case_3', 'ddt')
)
@ddt.unpack
def test_search1(self, case, search_key):
self.baidu_search(search_key)
self.assertEqual(self.driver.title, search_key + "_百度搜索")
@ddt.data(
['case_1', 'selenium'],
['case_2', 'unittest'],
['case_3', 'ddt']
)
@ddt.unpack
def test_search2(self, case, search_key):
self.baidu_search(search_key)
self.assertEqual(self.driver.title, search_key + "_百度搜索")
@ddt.data(
{'search_key': 'selenium'},
{'search_key': 'unittest'},
{'search_key': 'ddt'}
)
@ddt.unpack
def test_search3(self, search_key):
self.baidu_search(search_key)
self.assertEqual(self.driver.title, search_key + "_百度搜索")
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestBaiduDemo2('test_search1'))
suite.addTest(TestBaiduDemo2('test_search2'))
suite.addTest(TestBaiduDemo2('test_search3'))
runner = unittest.TextTestRunner()
runner.run(suite)
创建BeginDemo.py文件
import unittest
from ddtDemo import TestBaiduDemo2
if __name__ == "__main__":
suite = unittest.TestSuite(tests=[TestBaiduDemo2('testsearch1')])
runner = unittest.TestRunner()
suite.run(result=runner)
运行之后就一直提示 AttributeError: 'TestBaiduDemo2' object has no attribute 'testsearch1'