在往期我們講了很多實(shí)現(xiàn)自動化過程中的一些面試題秧了,那么實(shí)現(xiàn)自動化之后,問題又來了序无。
你肯定要考慮分層了
面試官:自動化測試分層思想验毡,你是如何理解的?
我看到過很多招聘需求上直接寫了這一點(diǎn)帝嗡,會自動化測試分層思想優(yōu)先晶通。啥意思?但凡能稱得上優(yōu)先的哟玷,就是加分項(xiàng)吶狮辽。
所以,為什么要有這個(gè)自動化分層巢寡?自動化分層到底怎么做喉脖?
那你就得給面試官說清楚了
那你可以這樣說:當(dāng)我們的腳本能夠?qū)崿F(xiàn)自動化,能夠讓我們自動去點(diǎn)點(diǎn)點(diǎn)了抑月,接下來我們要考慮這個(gè)腳本的穩(wěn)定性树叽,因?yàn)槟憧赡苷f一個(gè)背景,自動化用例越來越多谦絮,數(shù)據(jù)也越來越多题诵。為了提高提高腳本的維護(hù)性洁仗,穩(wěn)定性,可讀性仇轻、復(fù)用性京痢,等等,我們就要把自動化腳本分層篷店。
那何為分層祭椰?分層到底是啥?
那就好像一個(gè)蛋糕一樣疲陕,一層兩層三層……
第一層和第二層有什么區(qū)別方淤?
第一層比第二層應(yīng)該是少點(diǎn)吧,越到下面蹄殃,蛋糕應(yīng)該越大携茂,這個(gè)好理解吧?
其實(shí)腳本分層的原理就是讓不同的層去做不同類型的事情诅岩,專業(yè)的人做專業(yè)的事讳苦,讓我們的代碼結(jié)構(gòu)更清晰,還有很多代碼可以復(fù)用吩谦,很多東西都是重復(fù)使用的鸳谜,所以我們會把代碼分層。
那么分層可以分為哪些層呢式廷?
對象庫層咐扭,業(yè)務(wù)層、邏輯層滑废,數(shù)據(jù)層
當(dāng)然有些東西可以放在一起蝗肪,根據(jù)這幾個(gè)層,你可以把它封裝三到四次蠕趁,這里就又講到一個(gè)封裝薛闪。
把這些層次我們進(jìn)行封裝兩到三次。
對象庫層
首先你想到一個(gè)對象妻导,什么是對象逛绵?你做ui自動化,什么是對象倔韭?一個(gè)網(wǎng)站上的各種按鈕术浪,輸入框,各類元素是不是對象寿酌?
把一個(gè)系統(tǒng)所有的元素封裝起來胰苏,到一個(gè)層次。
像我們的框架里面醇疼,有一個(gè)POM就是專門用來做硕并,管理很多頁面里的一些元素法焰,那當(dāng)然包括了這些元素的操作方法。而且可以封裝一些常用的業(yè)務(wù)倔毙。
那什么叫業(yè)務(wù)埃仪?登錄就是一個(gè)業(yè)務(wù),下單就是一個(gè)業(yè)務(wù)陕赃,就好像做功能測試卵蛉,一個(gè)功能就是一個(gè)業(yè)務(wù)。
比如說下單搜索就是一個(gè)業(yè)務(wù)么库,而業(yè)務(wù)又分為邏輯傻丝,所以這個(gè)東西很細(xì)。
為什么業(yè)務(wù)又分為邏輯诉儒?因?yàn)楦鶕?jù)不同的東西葡缰,它的這個(gè)走向不一樣,比如說出現(xiàn)了搜索結(jié)果忱反,我去點(diǎn)擊泛释,那如果沒有出現(xiàn),又怎么怎么樣温算,所以這里面還包含了很多邏輯胁澳。
然后這些業(yè)務(wù)里面,那當(dāng)然還有很多的公共方法米者,所以邏輯層里面可能還包括邏輯處理層,肯定也會調(diào)用很多的公共方法宇智,所以調(diào)用很多的關(guān)鍵字蔓搞。
那數(shù)據(jù)層就非常好理解了,那我把所有的數(shù)據(jù)都抽出來随橘,那比如說像我們做接口測試喂分。我把所有的一些接口必填的參數(shù),我把它封裝起來机蔗。
我在這個(gè)框架里面打開了一個(gè)excel表蒲祈,這就是我們一個(gè)接口項(xiàng)目的數(shù)據(jù),我把數(shù)據(jù)都抽出來萝嘁,放到一個(gè)excel表格里面梆掸,是不是跟這個(gè)代碼沒有任何關(guān)系了。
這些接口的數(shù)據(jù)牙言,大家來看酸钦,入?yún)ⅰ嘌栽弁鳌⒛钱?dāng)然我這里只寫了兩個(gè)卑硫,很多數(shù)據(jù)我都抽出來徒恋,抽到哪里?很多方式去抽然斗(excel入挣、yaml……)
總結(jié)一下
背景:自動化用例越來越多,數(shù)據(jù)也越來越多硝拧,
目的:腳本的維護(hù)性径筏,穩(wěn)定性,可讀性河爹,復(fù)用性分層?
分層:對象庫層匠璧,業(yè)務(wù)層、邏輯處理層咸这,數(shù)據(jù)層
關(guān)注一凡這個(gè)博主是—————————————————↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
最后:
1夷恍、點(diǎn)贊,收藏媳维。防止以后找不到酿雪,想看的時(shí)候,在自己主頁就能找到了侄刽,很方便;?
2指黎、關(guān)注我。讓我們成為長期關(guān)系州丹,下一個(gè)內(nèi)容會分享更多的硬核干貨;?
3醋安、文章學(xué)習(xí)資源,均可以免費(fèi)分享墓毒。
公號:程序員一凡吓揪。這樣的好內(nèi)容,里面還有近百篇所计。? 謝謝你的支持柠辞!
目前測試平臺項(xiàng)目研發(fā)已經(jīng)完成并且在Github開源,有興趣的朋友可以去Github下載
https://github.com/ooqitech/ATP
不要只做收藏從未停止主胧,行動從未開始的人叭首,很多事情,做著做著就無師自通了踪栋。如果在做的過程中還能稍微加點(diǎn)思考焙格,稍微看一些別人的經(jīng)驗(yàn)和做法,成長會更快夷都,效果也會更好间螟!加油吧,測試人!路就在腳下厢破,成功就在明天荣瑟!
我是一凡,用心輸出有價(jià)值的內(nèi)容摩泪,你若盛開笆焰,清風(fēng)自來!
創(chuàng)作不易见坑,不想被白嫖嚷掠,各位的「點(diǎn)贊」就是一凡創(chuàng)作的最大動力,我們下篇文章見荞驴!