當前位置:成語大全網 - 新華字典 - 數據驅動—ddt

數據驅動—ddt

ddt是python的第三方庫,安裝非常簡單:

pip install ddt

ddt官方文檔地址: /'

self.driver = webdriver.Chrome()

self.driver.maximize_window()

self.driver.get(self.url)

self.driver.implicitly_wait(30)

@data(*testdata()) #這裏加*後會將返回數據分為壹個個的元組

@unpack

def test_login(self,username,password,result):

'''測試郵箱登錄'''

self.driver.find_element_by_id('freename').clear()

self.driver.find_element_by_id('freename').send_keys(username)

self.driver.find_element_by_id('freepassword').clear()

self.driver.find_element_by_id('freepassword').send_keys(password)

self.driver.find_element_by_link_text('登錄').click()

freeError = self.driver.find_element_by_xpath('//div[@class="freeError"]//span').text

self.assertEqual(freeError,result)

def tearDown(self):

self.driver.quit()

if __name__ == '__main__':

unittest.main(verbosity=2)

結果:

test_login_1___________請輸入郵箱名__ (__main__.MyMailLogin)

測試郵箱登錄 ... ok

test_login_2_______123456____請輸入郵箱名__ (__main__.MyMailLogin)

測試郵箱登錄 ... ok

test_login_3___123456________您輸入的郵箱名格式不正確__ (__main__.MyMailLogin)

測試郵箱登錄 ... ok

需要註意@data( * testdata()) 這裏加*後會將返回數據分為壹個個的元組,否則unpack無法分解數據,就會報錯,列如:

def testdata():

return (('', '', '請輸入郵箱名'), ('', '123456', '請輸入郵箱名'),

('123456', '', '您輸入的郵箱名格式不正確'))

print(*testdata()) #三個元組

print(testdata()) #壹個元組

結果:

('', '', '請輸入郵箱名') ('', '123456', '請輸入郵箱名') ('123456', '', '您輸入的郵箱名格式不正確') (('', '', '請輸入郵箱名'), ('', '123456', '請輸入郵箱名'), ('123456', '', '您輸入的郵箱名格式不正確'))

筆者創建了壹個測試交流群,如果對軟件測試、接口測試、自動化測試、面試經驗交流感興趣可以加測試交流群:829792258,還會有同行壹起技術交流