在往期我們講了很多實(shí)現(xiàn)自動(dòng)化過程中的一些面試題,那么實(shí)現(xiàn)自動(dòng)化之后,問題又來了。
你肯定要考慮分層了
面試官:自動(dòng)化測試分層思想,你是如何理解的?
我看到過很多招聘需求上直接寫了這一點(diǎn),會(huì)自動(dòng)化測試分層思想優(yōu)先。啥意思?但凡能稱得上優(yōu)先的,就是加分項(xiàng)吶。
所以,為什么要有這個(gè)自動(dòng)化分層?自動(dòng)化分層到底怎么做?
那你就得給面試官說清楚了
那你可以這樣說:當(dāng)我們的腳本能夠?qū)崿F(xiàn)自動(dòng)化,能夠讓我們自動(dòng)去點(diǎn)點(diǎn)點(diǎn)了,接下來我們要考慮這個(gè)腳本的穩(wěn)定性,因?yàn)槟憧赡苷f一個(gè)背景,自動(dòng)化用例越來越多,數(shù)據(jù)也越來越多。為了提高提高腳本的維護(hù)性,穩(wěn)定性,可讀性、復(fù)用性,等等,我們就要把自動(dòng)化腳本分層。
那何為分層?分層到底是啥?
那就好像一個(gè)蛋糕一樣,一層兩層三層……
第一層和第二層有什么區(qū)別?
第一層比第二層應(yīng)該是少點(diǎn)吧,越到下面,蛋糕應(yīng)該越大,這個(gè)好理解吧?
其實(shí)腳本分層的原理就是讓不同的層去做不同類型的事情,專業(yè)的人做專業(yè)的事,讓我們的代碼結(jié)構(gòu)更清晰,還有很多代碼可以復(fù)用,很多東西都是重復(fù)使用的,所以我們會(huì)把代碼分層。
那么分層可以分為哪些層呢?
對(duì)象庫層,業(yè)務(wù)層、邏輯層,數(shù)據(jù)層
當(dāng)然有些東西可以放在一起,根據(jù)這幾個(gè)層,你可以把它封裝三到四次,這里就又講到一個(gè)封裝。
把這些層次我們進(jìn)行封裝兩到三次。
對(duì)象庫層
首先你想到一個(gè)對(duì)象,什么是對(duì)象?你做ui自動(dòng)化,什么是對(duì)象?一個(gè)網(wǎng)站上的各種按鈕,輸入框,各類元素是不是對(duì)象?
把一個(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)然還有很多的公共方法,所以邏輯層里面可能還包括邏輯處理層,肯定也會(huì)調(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ù)我都抽出來,抽到哪里?很多方式去抽?。╡xcel、yaml……)
總結(jié)一下
背景:自動(dòng)化用例越來越多,數(shù)據(jù)也越來越多,
目的:腳本的維護(hù)性,穩(wěn)定性,可讀性,復(fù)用性分層?
分層:對(duì)象庫層,業(yè)務(wù)層、邏輯處理層,數(shù)據(jù)層
關(guān)注一凡這個(gè)博主是—————————————————↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

最后:
1、點(diǎn)贊,收藏。防止以后找不到,想看的時(shí)候,在自己主頁就能找到了,很方便;?
2、關(guān)注我。讓我們成為長期關(guān)系,下一個(gè)內(nèi)容會(huì)分享更多的硬核干貨;?
3、文章學(xué)習(xí)資源,均可以免費(fèi)分享。
公號(hào):程序員一凡。這樣的好內(nèi)容,里面還有近百篇。? 謝謝你的支持!
目前測試平臺(tái)項(xiàng)目研發(fā)已經(jīng)完成并且在Github開源,有興趣的朋友可以去Github下載
https://github.com/ooqitech/ATP
不要只做收藏從未停止,行動(dòng)從未開始的人,很多事情,做著做著就無師自通了。如果在做的過程中還能稍微加點(diǎn)思考,稍微看一些別人的經(jīng)驗(yàn)和做法,成長會(huì)更快,效果也會(huì)更好!加油吧,測試人!路就在腳下,成功就在明天!
我是一凡,用心輸出有價(jià)值的內(nèi)容,你若盛開,清風(fēng)自來!
創(chuàng)作不易,不想被白嫖,各位的「點(diǎn)贊」就是一凡創(chuàng)作的最大動(dòng)力,我們下篇文章見!