介面自動化框架要搭成什么,里面的內容究竟應該有多少?
這個問題沒有標準答案,因為這要取決于你的專案,以及你想要用框架來解決什么問題等多種因素,
當然了,這里也就不展開討論了,還是回到介面自動化這個點,來說一說你至少改具備的東西,
一、編程語言的選擇
如果有特殊要求用某種語言的話,你沒什么好選,如果沒有特殊要求,我個人偏向于使用python語言,
筆者之前也曾參與過基于java語言的介面自動化開發跟維護,框架用的是testng,雖然組內大佬已經盡力
將框架維護的比較好用,但是用起來始終不如python爽,或許這也是習慣的原因吧,誰叫我是先學python,
后學的java呢,
我記得當時領導說是為了讓測驗的開發語言與開發同步,所以就讓我們轉用java來開發了,但是我還是那句話,
如果沒有特殊要求,我還是果斷擁抱python,

這里要再加個題外話,那是不是覺得會用python就足夠了?擱以前或許是吧,但是現在肯定不是了,java還是
要學的,你看看大多數公司開發用的什么語言,就是java,反正多掌握幾個主流的開發語言肯定不會虧,
二、單元測驗框架的選用
既然語言定了,單元測驗框架也就好選了,筆者是基于python進行分享,那么就不得不提unittest個pytest了,
unittest是python自帶的單元測驗框架,而pytest則是一個第三方的測驗框架,直接給結論,用pytest,優點
多多,插件生態豐富,誰用誰知道,附上pytest的官方檔案,不過是英文的,
但是還是推薦多去看看,多寫寫,多體會,

筆者在陸續寫一個【解讀pytest官方檔案】系列,已經寫了一些,有興趣的可以翻一下,
三、善于優秀的第三方庫
框架定了pytest,那么就可以用它結合著眾多優秀的開源庫去實作自己的需求啦,這里寫幾個常用的:
- requests:介面自動化必備神器,請求介面、代理等等應有盡有,官方檔案在這,有中文版的哦,
- pymysql:操作mysql利器,介面測驗少不了要跟資料庫打交道,有了它你會更加得心應手,
- allure:這是個測驗報告,其實沒有它你依然可以進行介面測驗,如果你想要一份漂亮的測驗報告,就選它吧,
... ...
第三方庫真的很多,就不一一列舉了,要善于搜索,
四、介面自動化框架的基本結構
上面說的都齊了,框架也就有了,至于結構到底怎么樣,還是因人、專案而已,怎么適合怎么來,

圖里的這個結構,并不是我目前專案在用的,但是這幾個東西是基本結構,用處分別是:
- conf:這里可以放一些組態檔啥的,比如資料庫鏈接資訊,介面域名等等,
- interface: 這里就是放測驗用例的地方了,下面可以根據專案需要進一步拆分模塊
- report:可有可無吧,有的話你可以把生成的報告放這里
- util:這里可以寫一些公共方法
這里僅僅作示意,名字隨便起,只要合適就行,
目前專案里在跑的框架內容就比這多了不少了,畢竟里面是好幾個業務都在一起,然后就有了各種各樣的問題,
需要框架去兼容解決,自然而然東西就會變多,
本文中只提供思路,供想要搭建介面自動化框架的伙伴參考,有問題可以留言或者私信我,當然了推薦最直接的就是
去搜索了,畢竟這是寫代碼的一項重要技能!!!
接下來會分享撰寫介面自動化case需要注意的那些點,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/270688.html
標籤:其他
