unittese 運行完清除數據

def addCleanup(self, function, *args, **kwargs): """Add a function, with arguments, to be called when the test is completed. Functions added are called on a LIFO basis and are called after tearDown on test failure or success. Cleanup items are called even if setUp fails (unlike tearDown).""" self._cleanups.append((function, args, kwargs))添加針對每個測試用例執行完tearDown()方法之后的清理方法,添加進去的函數按照LIFO的順序,通過參數添加進去

如果setUp()執行失敗,就不會執行tearDown(),自然也不會執行addCleanup()里添加的函數。

使用場景:正常的測試用例,創建資源后,需要清理環境再在用例中刪除資源,或者tearDown()后進行資源清理,不方便,如果用了addCleanup()后,直接在用例中寫入函數,在tearDown()用例后,會再次調用addCleanup來刪除資源,減少代碼量以及遺漏刪除。

# _*_ encoding:utf-8 _*_

from selenium import webdriver

from selenium.webdriver.common.by import By

import unittest

import time

class Baidu(unittest.TestCase):

def abc(self,a,b):

print(a+b)

def setUp(self):

self.driver = webdriver.Ie()

self.driver.implicitly_wait(10)

self.base_url = 'http://www.baidu.com'

print ("This is setUp")

def test_baidu_search(self):

driver = self.driver

driver.get(self.base_url)

driver.find_element_by_id("kw").send_keys("HTMLTestRunner")

driver.find_element_by_id("su").click()

cleanups = ('abcdefg','123312')

self.addCleanup(self.abc,

cleanups[0], cleanups[1])

def tearDown(self):

self.driver.quit()

print ("This is tearDown")

if __name__ == '__main__':

unittest.main()執行結果如下,可以看到會在用例結束之后,執行addCleanup里的函數,因此可以用來進行,測試環境數據清理工作。

Ran 1 test in 12.008s

OK

This is tearDown

abcdefg123312

Process finished with exit code 0

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

http://www.uswqb.club/style/images/nopic.gif
分享
評論
首頁
高速公路之王电子游艺
青海体彩11选5 温州麻将手机版下载 多多棋牌安卓下载 分分11选5有国家的吗 上海11选5开奖结果一定牛 p2p理财平台评级 丫丫湖南麻将 玩秒速飞艇的技巧 成都熊猫麻将微信群 如何开户炒股 微乐天津麻将怎样免费开挂 内蒙古11选5体彩 注册平台 四川快乐12 河南11选5第27期 填大坑必胜视频 陕西快乐十分开奖查