日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python unittest裝飾器實現(xiàn)原理及代碼

瀏覽:24日期:2022-07-12 08:01:05

1、前言

前面講到unittest里面setUp可以在每次執(zhí)行用例前執(zhí)行,這樣有效的減少了代碼量,但是有個弊端,比如打開瀏覽器操作,每次執(zhí)行用例時候都會重新打開,這樣就會浪費很多時間。

于是就想是不是可以只打開一次瀏覽器,執(zhí)行完用例再關(guān)閉呢?這就需要用到裝飾器(@classmethod)來解決了。

2、@classmethod 裝飾器中的 setUpClass() 和 tearDownClass() 與 setUp() 和 tearDown() 的區(qū)別

setUp():每個測試 case 運行之前運行 tearDown():每個測試 case 運行完之后執(zhí)行 setUpClass():必須使用 @classmethod 裝飾器, 所有 case 運行之前只運行一次 @是修飾符,classmethod 是 python 里的類方法 tearDownClass():必須使用 @classmethod 裝飾器, 所有 case 運行完之后只運行一次

import unittestclass Test(unittest.TestCase): @classmethod def setUpClass(cls) -> None: print('-----開始執(zhí)行用例-----') def setUp(self) -> None: print('執(zhí)行用例準(zhǔn)備動作...') def test01(self): print('第一條用例正在執(zhí)行...') def test02(self): print('第二條用例正在執(zhí)行...') def tearDown(self) -> None: print('用例執(zhí)行完結(jié)動作...') @classmethod def tearDownClass(cls) -> None: print('-----用例執(zhí)行結(jié)束-----') if __name__ == ’__main__’: unittest.main()#執(zhí)行結(jié)果如下:'''-----開始執(zhí)行用例-----執(zhí)行用例準(zhǔn)備動作...第一條用例正在執(zhí)行...用例執(zhí)行完結(jié)動作...執(zhí)行用例準(zhǔn)備動作...第二條用例正在執(zhí)行...用例執(zhí)行完結(jié)動作...-----用例執(zhí)行結(jié)束-----'''

from selenium import webdriverimport unittestfrom time import sleepclass DymLogin(unittest.TestCase): @classmethod def setUpClass(cls) -> None: ''' 所有的用例只需要執(zhí)行一次打開瀏覽器操作 ''' print('Test start...') cls.dr = webdriver.Chrome() cls.dr.get('http://www.duoyoumi.com/') cls.dr.implicitly_wait(10) cls.dr.maximize_window() cls.dr.find_element_by_class_name('login').click() sleep(1) @classmethod def tearDownClass(cls) -> None: sleep(2) cls.dr.quit() print('Test end...') def test_login01(self): ''' 賬號密碼都為空 ''' self.dr.find_element_by_name('loginName').clear() self.dr.find_element_by_name('loginPwd').clear() self.dr.find_element_by_xpath(’//*[@id='loginForm']/div/div/div/div[2]/div[1]/div[2]’).click() #登錄操作 TipsMsg = self.dr.find_element_by_class_name('promptLogin').text self.assertEqual(TipsMsg,'-請輸入登錄賬號!',msg='Test_login01 login exception') def test_login02(self): ''' 賬號正確,密碼為空 ''' self.dr.find_element_by_name('loginName').clear() self.dr.find_element_by_name('loginPwd').clear() self.dr.find_element_by_name('loginName').send_keys('17779828887') self.dr.find_element_by_xpath(’//*[@id='loginForm']/div/div/div/div[2]/div[1]/div[2]’).click() # 登錄操作 TipsMsg = self.dr.find_element_by_class_name('promptLogin').text self.assertEqual(TipsMsg, '-請輸入密碼!', msg='Test_login02 login exception') def test_login03(self): ''' 賬號密碼都正確 ''' self.dr.find_element_by_name('loginName').clear() self.dr.find_element_by_name('loginPwd').clear() self.dr.find_element_by_name('loginName').send_keys('17779828887') self.dr.find_element_by_name('loginPwd').send_keys('zy295240???') self.dr.find_element_by_xpath(’//*[@id='loginForm']/div/div/div/div[2]/div[1]/div[2]’).click() #登錄操作 sleep(2) TipsMsg = self.dr.find_element_by_css_selector('#w_nav_temp_1000 > div.fr.dl > a:nth-child(4)').text self.assertEqual(TipsMsg,'[退出]',msg='Test_login03 login exception')if __name__ == ’__main__’: unittest.main()#執(zhí)行結(jié)果如下'''Test start......Test end...----------------------------------------------------------------------Ran 3 tests in 25.253sOK'''

3、通過裝飾器跳過某條用例

添加裝飾器(@unittest.skip(''))

import unittestclass Test(unittest.TestCase): def setUp(self) -> None: print('---start---') def tearDown(self) -> None: print('---end---') def testbbb(self): print('case testbbb') @unittest.skip('testaaa 被跳過') def testaaa(self): print('case testaaa')if __name__ == ’__main__’: unittest.main()# 結(jié)果如下s.----------------------------------------------------------------------Ran 2 tests in 0.000sOK (skipped=1)---start---case testbbb---end---

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲女人av| 亚洲欧美高清| 亚洲不卡视频| 国产日韩欧美三区| 国产成人精品三级高清久久91| 99精品在线| 国产精品婷婷| 黄在线观看免费网站ktv| 亚洲电影在线一区二区三区| 国产精品美女在线观看直播| 色综合www| 日韩精品导航| 国产综合精品| 精品国产一区二区三区性色av| 亚洲激情黄色| 日本一区二区中文字幕| 欧美国产精品| 亚洲人成网站在线在线观看| 国产 日韩 欧美一区| 久久久成人网| 亚洲精品字幕| 国产一区二区三区网| 亚洲激情黄色| 国产毛片精品| 在线精品一区| 国产麻豆一区二区三区| 人在线成免费视频| 麻豆国产精品| 国产99久久| 91精品亚洲| 亚洲美女久久| 国产盗摄——sm在线视频| 日韩精品一级二级| 亚洲欧美日韩视频二区| 亚洲欧美不卡| 欧美一级网站| 日韩一区二区久久| 老司机精品久久| 欧美偷窥清纯综合图区| 国产一区二区三区国产精品| 精品在线99| 亚洲制服欧美另类| 国产精品啊啊啊| 91精品一区二区三区综合在线爱| 爽好久久久欧美精品| 日本在线一区二区三区| 精品国产不卡一区二区| 日韩免费视频| 蜜桃视频一区二区三区在线观看| 日精品一区二区三区| 国产精品极品国产中出| 亚洲a一区二区三区| 亚洲精品极品| 中文字幕高清在线播放| 久久成人一区| 国产一区二区三区国产精品| 伊人久久婷婷| 欧美黄色一区| 亚洲精品网址| 国产精品调教| 91精品观看| 国产情侣久久| 婷婷亚洲五月| 国产精品美女午夜爽爽| 日韩一区欧美| 综合激情网站| 神马午夜久久| 国产欧美亚洲精品a| 黄色亚洲大片免费在线观看| 欧美黑人巨大videos精品| 99在线精品免费视频九九视| 精品视频网站| 亚洲天堂免费| 99精品电影| 免费一级欧美片在线观看网站 | 欧美日韩亚洲国产精品| 偷拍欧美精品| 国产精品流白浆在线观看| 亚洲欧美高清| 久久久一二三| 久久精品国产网站| 少妇精品久久久一区二区三区| 欧美日韩视频免费观看| 国产精品白浆| 日韩在线观看一区二区三区| 99精品综合| 国产一区二区亚洲| 欧美一级一区| 一本综合精品| 黄色日韩在线| 亚洲播播91| 久久激情av| 亚洲一区二区三区四区五区午夜| 亚洲午夜天堂| 麻豆精品久久| 日韩精品亚洲一区二区三区免费| 欧美成人国产| 日韩欧美精品一区| 国产精品v日韩精品v欧美精品网站| 国产在线观看www| 亚洲精一区二区三区| 亚洲精一区二区三区| 日本不卡视频在线观看| 日韩高清在线不卡| 欧美亚洲二区| 久久99久久人婷婷精品综合| 国产精品视频3p| 日本视频一区二区| 国产乱码精品| 久久精品一本| 亚洲黄色免费看| 日韩在线观看| 极品日韩av| 水蜜桃久久夜色精品一区的特点 | 9国产精品视频| 在线免费观看亚洲| 久久狠狠久久| 精品美女视频 | 亚洲福利国产| 91精品推荐| 国产一区久久| 欧美日中文字幕| 美女少妇全过程你懂的久久| 日韩精品免费一区二区三区| 欧美成人基地 | 视频一区在线播放| 日韩午夜一区| 国产精品老牛| 亚洲欧美日韩综合国产aⅴ| 好吊一区二区三区| 在线亚洲国产精品网站| 亚洲一区二区三区四区五区午夜| 日韩视频一区| 蜜桃视频一区二区| 日本v片在线高清不卡在线观看| 亚洲精品成人一区| 亚洲一区二区毛片| 欧美一区=区| 亚洲精品婷婷| 国产伦精品一区二区三区千人斩 | 国产亚洲高清在线观看| 国产三级一区| 麻豆精品av| 国产黄大片在线观看| 亚洲大片在线| 中文字幕视频精品一区二区三区| 日韩影片在线观看| 欧美亚洲国产日韩| 精品国产鲁一鲁****| 日韩大片在线| 亚洲一区二区免费看| 日韩精品第一| 精品一区二区三区的国产在线观看| 亚洲三级欧美| 国产毛片一区| 欧美一级网址| 97国产成人高清在线观看| 亚洲香蕉网站| 日本中文字幕一区二区视频 | 亚洲成人二区| 午夜日韩在线| 日韩精品一区二区三区中文在线 | 开心激情综合| 日韩中文欧美| 韩日一区二区三区| 亚洲在线久久| 精品一区91| 午夜久久黄色| 久久国产生活片100| 欧美亚洲日本精品| 久久精品国产大片免费观看| 亚洲视频二区| 国产精品nxnn| 日韩中文在线播放| 午夜精品福利影院| 精品国产18久久久久久二百| 亚洲一级网站| 91欧美日韩在线| 欧美日韩视频网站| 免费精品视频在线| 精品久久在线| 国产精品丝袜xxxxxxx| 牛牛精品成人免费视频| 不卡中文一二三区| 国产亚洲观看| 亚洲成人av观看| 亚洲免费成人av在线| 国产成年精品| 丝袜美腿亚洲色图| 成人国产精品一区二区网站| 久久国产精品久久久久久电车| 欧美国产中文高清| 亚洲一区中文| 国产一区二区色噜噜| 亚洲综合五月| 欧洲av不卡| 久久精品999| 一区在线视频观看| 成人在线观看免费视频| 日韩一区精品|