案例:打开https://www.csdn.net/,进行登录,查看结果
不使用ddt数据驱动:
import unittest
from selenium import webdriver
import time
class CSDNTestCase(unittest.TestCase):
def setUp(self):
# 打开chrome浏览器
self.driver = webdriver.Chrome()
# 设置隐式等待10秒
self.driver.implicitly_wait(10)
# 设置窗口最大化
self.driver.maximize_window()
# 打开csdn
self.driver.get('https://www.csdn.net/')
# 点击登录链接
self.driver.find_element_by_link_text('登录/注册').click()
# 点击密码登录
self.driver.find_element_by_xpath('//*[@class="login-box-tabs-items"]/span[2]').click()
def tearDown(self):
# 强制等待2秒查看效果
time.sleep(2)
# 关闭浏览器
self.driver.quit()
def test_login01(self):
# 输入用户名
self.driver.find_element_by_xpath('//*[@autocomplete="username"]').send_keys('13211110000')
# 输入密码
self.driver.find_element_by_xpath('//*[@autocomplete="current-password"]').send_keys('123456')
# 点击登录
self.driver.find_element_by_class_name('base-button').click()
def test_login02(self):
# 输入用户名
self.driver.find_element_by_xpath('//*[@autocomplete="username"]').send_keys('13211110001')
# 输入密码
self.driver.find_element_by_xpath('//*[@autocomplete="current-password"]').send_keys('1234567')
# 点击登录
self.driver.find_element_by_class_name('base-button').click()
def test_login03(self):
# 输入用户名
self.driver.find_element_by_xpath('//*[@autocomplete="username"]').send_keys('1321111000')
# 输入密码
self.driver.find_element_by_xpath('//*[@autocomplete="current-password"]').send_keys('12345678')
# 点击登录
self.driver.find_element_by_class_name('base-button').click()
time.sleep(2)
使用ddt数据驱动:
import unittest
from selenium import webdriver
import time
from ddt import ddt, data, unpack
@ddt
class CSDNTestCase(unittest.TestCase):
def setUp(self):
# 打开chrome浏览器
self.driver = webdriver.Chrome()
# 设置隐式等待10秒
self.driver.implicitly_wait(10)
# 设置窗口最大化
self.driver.maximize_window()
# 打开csdn
self.driver.get('https://www.csdn.net/')
# 点击登录链接
self.driver.find_element_by_link_text('登录/注册').click()
# 点击密码登录
self.driver.find_element_by_xpath('//*[@class="login-box-tabs-items"]/span[2]').click()
def tearDown(self):
# 强制等待2秒查看效果
time.sleep(2)
# 关闭浏览器
self.driver.quit()
# @data(['13200001111', '123456'], ['13200009999', '654321'], ['admin123', 'adm123']) # 多个值,值为列表,一个列表代表一个用例,有多个列表会执行多个用例
@data(('13200001111', '123456'), ('13200009999', '654321'), ('admin123', 'adm123')) # 多个值,值为元组,一个元组代表一个用例,有多个元组会执行多个用例
@unpack
def test_login(self, username, password):
# 输入用户名
self.driver.find_element_by_xpath('//*[@autocomplete="username"]').send_keys(username)
# 输入密码
self.driver.find_element_by_xpath('//*[@autocomplete="current-password"]').send_keys(password)
# 点击登录
self.driver.find_element_by_class_name('base-button').click()
**: