Web自動化測試:UI自動化框架結(jié)構(gòu)以及思路

在學會使用unittest后,實際上UI自動化的基礎骨架已經(jīng)搭建起來了聚假,剩下的就是利于這套框架块蚌,增添一些我們需要的功能,目前看來魔策,我們已經(jīng)可以使用此框架來批量運行用例匈子,欠缺的是整體的思路以及一些其他功能細節(jié)河胎,比如日志記錄闯袒、封裝webdriver、讀取數(shù)據(jù)庫等功能的實現(xiàn)。

一政敢、框架結(jié)構(gòu)

其中:

common:

一些基礎的底層方法類其徙,例如:測試報告類、數(shù)據(jù)配置讀取類喷户、日志類唾那、封裝webdriver類、數(shù)據(jù)庫連接類褪尝、發(fā)送郵件類闹获、公共方法類,只要是我們想要實現(xiàn)的一些功能河哑,可以把基礎方法的實現(xiàn)放在common文件夾避诽。

config:

配置文件放在這里,比如:賬號密碼璃谨、數(shù)據(jù)庫連接地址等沙庐。

log:

運行用例后,日志的存儲文件夾佳吞。

report:

運行用例后拱雏,測試報告的存儲文件夾。

page:

在POM設計模式下底扳,關(guān)于具體UI頁面操作的方法铸抑。

test_case:

具體存放編寫的測試用例。

run_all:

用來批量運行測試用例花盐。

二羡滑、一些設計的想法和理念

2.1數(shù)據(jù)分離

數(shù)據(jù)分離,顧名思義是指要把代碼中的數(shù)據(jù)和代碼分離開來算芯,這樣方便管理和維護柒昏。

在寫用例以及框架時,會涉及到數(shù)據(jù)的處理熙揍,比如說:賬號职祷、密碼、元素定位届囚、測試數(shù)據(jù)等等有梆,對于經(jīng)常會用到,但是不會經(jīng)常修改的數(shù)據(jù)意系,比如賬號泥耀、密碼等,可以寫到配置文件里蛔添,然后再讀忍荡摺兜辞;而對于元素定位的話,我習慣統(tǒng)一放到類里夸溶,作為類的全局變量來進行維護調(diào)用逸吵,而不是寫到代碼邏輯中,之前嘗試過把元素定位放到excel中缝裁,但是元素定位需要經(jīng)常修改維護扫皱,其實放在excel里修改很不方便,所以我更習慣作為一個類變量來存儲調(diào)用捷绑。

2.2 POM設計模式

POM簡單來說韩脑,我的理解就是高內(nèi)聚低耦合的一種實踐,通過分層來使得代碼更容易維護表達粹污,同時把復用性極多的方法整合到一起統(tǒng)一調(diào)用扰才。運用到UI自動化中,則是把一個UI測試用例的實現(xiàn)厕怜,分為了三層來實現(xiàn)衩匣;第一層是driver層,我們把常用的方法封裝起來粥航,比如查找元素的方法find_element()我們封裝成一個定位元素的方法琅捏,然后在這個方法里加入元素等待;第二層是page層递雀,也就是頁面層柄延,主要把一個頁面中的操作寫成一個方法,比如點擊確定按鈕缀程,填寫用戶名等搜吧;第三層是case層,也就是測試用例層杨凑,通過把page中的操作像搭積木一樣組合起來滤奈,實現(xiàn)測試流程。

封裝的driver方法 ---> page:頁面中的操作 ---> case調(diào)用page中的操作

2.3測試框架的完整性

就是加上一些我們需要的功能撩满,比如測試報告蜒程、日志的打印記錄、發(fā)送郵件等功能伺帘,當然不僅限于此昭躺,在基本搭建好框架后,可以對框架本身進行易用性的整改伪嫁,比如我要查詢數(shù)據(jù)庫獲取數(shù)據(jù)來入?yún)⒒蛘邤嘌粤祆牛蔷图尤霐?shù)據(jù)庫連接的方法;比如為了項目更簡單易用张咳,可以加入UI頁面的可視化功能帝洪,python本身三方庫的種類很多针史,可以根據(jù)自己的需要或者想法來改造我們的框架。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碟狞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子婚陪,更是在濱河造成了極大的恐慌族沃,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泌参,死亡現(xiàn)場離奇詭異脆淹,居然都是意外死亡,警方通過查閱死者的電腦和手機沽一,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門盖溺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铣缠,你說我怎么就攤上這事烘嘱。” “怎么了蝗蛙?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵蝇庭,是天一觀的道長。 經(jīng)常有香客問我捡硅,道長哮内,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任壮韭,我火速辦了婚禮北发,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喷屋。我一直安慰自己琳拨,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布屯曹。 她就那樣靜靜地躺著从绘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪是牢。 梳的紋絲不亂的頭發(fā)上僵井,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音驳棱,去河邊找鬼批什。 笑死,一個胖子當著我的面吹牛社搅,可吹牛的內(nèi)容都是我干的驻债。 我是一名探鬼主播乳规,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼合呐!你這毒婦竟也來了暮的?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤淌实,失蹤者是張志新(化名)和其女友劉穎冻辩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拆祈,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡恨闪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了放坏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咙咽。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖淤年,靈堂內(nèi)的尸體忽然破棺而出钧敞,到底是詐尸還是另有隱情,我是刑警寧澤麸粮,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布犁享,位于F島的核電站,受9級特大地震影響豹休,放射性物質(zhì)發(fā)生泄漏炊昆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一威根、第九天 我趴在偏房一處隱蔽的房頂上張望凤巨。 院中可真熱鬧,春花似錦洛搀、人聲如沸敢茁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彰檬。三九已至,卻和暖如春谎砾,著一層夾襖步出監(jiān)牢的瞬間逢倍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工景图, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留较雕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像亮蒋,于是被迫代替她去往敵國和親扣典。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354