案例:打开百度,进行搜索,查看搜索结果;
执行3条测试用例,分别搜索python,自动化测试,ddt data
不使用ddt数据驱动:
import unittest
import time
from selenium import webdriver
class Baidu(unittest.TestCase):
def setUp(self):
# 打开chrome浏览器
self.driver = webdriver.Chrome()
# 设置隐式等待10秒
self.driver.implicitly_wait(10)
# 设置窗口最大化
self.driver.maximize_window()
# 打开百度
self.driver.get('https://www.baidu.com')
def tearDown(self):
# 强制等待2秒,查看效果
time.sleep(2)
# 关闭浏览器
self.driver.quit()
def test01(self):
'''搜索 python'''
# 在搜索输入框中输入 python
self.driver.find_element_by_id('kw').send_keys('python')
# 点击百度一下
self.driver.find_element_by_id('su').click()
def test02(self):
'''搜索 自动化测试'''
# 在搜索输入框中输入 自动化测试
self.driver.find_element_by_id('kw').send_keys('自动化测试')
# 点击百度一下
self.driver.find_element_by_id('su').click()
def test03(self):
'''搜索 ddt data'''
# 在搜索输入框中输入 ddt data
self.driver.find_element_by_id('kw').send_keys('ddt data')
# 点击百度一下
self.driver.find_element_by_id('su').click()
if __name__ == '__main__':
unittest.main()
使用ddt数据驱动:
import unittest
import time
from selenium import webdriver
from ddt import ddt, data
@ddt # 调用装饰类ddt
class Baidu(unittest.TestCase):
def setUp(self):
# 打开chrome浏览器
self.driver = webdriver.Chrome()
# 设置隐式等待10秒
self.driver.implicitly_wait(10)
# 设置窗口最大化
self.driver.maximize_window()
# 打开百度
self.driver.get('https://www.baidu.com')
def tearDown(self):
# 强制等待2秒,查看效果
time.sleep(2)
# 关闭浏览器
self.driver.quit()
@data('python', '自动化测试', 'ddt data') # 调用方法装饰器data
def test01(self, value):
'''分别搜索python,自动化测试,ddt data'''
# 在搜索输入框中分别输入 python,自动化测试,ddt data
self.driver.find_element_by_id('kw').send_keys(value)
# 点击百度一下
self.driver.find_element_by_id('su').click()
if __name__ == '__main__':
unittest.main()
重点注释