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,還會有同行壹起技術交流