在使用unittest框架的過程中,我們經常需要重複地寫setup和teardown函式,為了減少重複性的工作,可以將這部分**封裝起來。
**如下:
import unittest
from common.base_page import basepage
from common.browser import browser
from common.config_value import config
from common.log_utills import logger
class
seleniumbasecase
(unittest.testcase)
: @classmethod
defsetupclass
(cls)
->
none
: logger.info(
'**********測試類開始執行**********'
) cls.url = config.zantao_url
defsetup
(self)
->
none
: logger.info(
'----------測試方法開始執行----------'
) self.driver = browser.get_driver(
) self.base_page = basepage(self.driver)
self.base_page.set_browser_max(
) self.base_page.time(
) self.base_page.open_url(self.url)
defteardown
(self)
->
none
: self.base_page.close_tab(
) logger.info(
'----------測試方法開始完畢----------'
) @classmethod
defteardownclass
(cls)
->
none
: logger.info(
'**********測試類執行完畢**********'
)pass
**
將封裝好的類匯入到測試用例python檔案中使用,**如下:
import unittest
from actions.quit_action import quitaction
from actions.login_action import loginaction
from common.selenium_base_case import seleniumbasecase
class
logintest
(seleniumbasecase)
:def
test_logout
(self)
: login_action = loginaction(self.base_page.driver)
login_action.default_login(
) quit_action = quitaction(self.base_page.driver)
login_page = quit_action.quit_action(
) actual_result = login_page.get_title(
) self.assertequal(actual_result.__contains__(
'使用者登入'),
true
,'測試用例-退出禪道:不通過'
)if __name__ ==
'__main__'
: unittest.main(
)
在測試用例檔案中自定義特定的前置後置函式,**如下:
import unittest
from actions.quit_action import quitaction
from actions.login_action import loginaction
from common.selenium_base_case import seleniumbasecase
class
logintest
(seleniumbasecase)
:def
setup
(self)
->
none
:super()
.setup(
) self.base_page.wait(3)
self.base_page.refresh(
)def
teardown
(self)
->
none
:pass
deftest_logout
(self)
: login_action = loginaction(self.base_page.driver)
login_action.default_login(
) quit_action = quitaction(self.base_page.driver)
login_page = quit_action.quit_action(
) actual_result = login_page.get_title(
) self.assertequal(actual_result.__contains__(
'使用者登入'),
true
,'測試用例-退出禪道:不通過'
)if __name__ ==
'__main__'
: unittest.main(
)
關於程式關於世界
首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...
關於血液關於軟體
1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...
關於冷漠,關於愛情
我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...