關於selenium base page的使用

2021-10-05 19:52:05 字數 3073 閱讀 1808

在使用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 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...