【接口自動化】2.快速搭建接口自動化框架


接口自動化框架要搭成什么,里面的內容究竟應該有多少?
這個問題沒有標准答案,因為這要取決於你的項目,以及你想要用框架來解決什么問題等多種因素。

當然了,這里也就不展開討論了,還是回到接口自動化這個點,來說一說你至少改具備的東西。

一、編程語言的選擇

如果有特殊要求用某種語言的話,你沒什么好選。如果沒有特殊要求,我個人偏向於使用python語言。

筆者之前也曾參與過基於java語言的接口自動化開發跟維護,框架用的是testng,雖然組內大佬已經盡力
將框架維護的比較好用,但是用起來始終不如python爽。或許這也是習慣的原因吧,誰叫我是先學python,
后學的java呢。

我記得當時領導說是為了讓測試的開發語言與開發同步,所以就讓我們轉用java來開發了。但是我還是那句話,
如果沒有特殊要求,我還是果斷擁抱python

這里要再加個題外話,那是不是覺得會用python就足夠了?擱以前或許是吧,但是現在肯定不是了。java還是
要學的,你看看大多數公司開發用的什么語言,就是java。反正多掌握幾個主流的開發語言肯定不會虧。

二、單元測試框架的選用

既然語言定了,單元測試框架也就好選了。筆者是基於python進行分享,那么就不得不提unittest個pytest了。
unittest是python自帶的單元測試框架,而pytest則是一個第三方的測試框架。直接給結論,用pytest,優點
多多,插件生態豐富,誰用誰知道。附上pytest的官方文檔,不過是英文的。
但是還是推薦多去看看,多寫寫,多體會。

筆者在陸續寫一個【解讀pytest官方文檔】系列,已經寫了一些,有興趣的可以翻一下。

三、善於優秀的第三方庫

框架定了pytest,那么就可以用它結合着眾多優秀的開源庫去實現自己的需求啦,這里寫幾個常用的:

  1. requests:接口自動化必備神器,請求接口、代理等等應有盡有,官方文檔在這,有中文版的哦。
  2. pymysql:操作mysql利器,接口測試少不了要跟數據庫打交道,有了它你會更加得心應手。
  3. allure:這是個測試報告,其實沒有它你依然可以進行接口測試,如果你想要一份漂亮的測試報告,就選它吧。
    ... ...
    第三方庫真的很多,就不一一列舉了,要善於搜索。

四、接口自動化框架的基本結構

上面說的都齊了,框架也就有了。至於結構到底怎么樣,還是因人、項目而已,怎么適合怎么來。

圖里的這個結構,並不是我目前項目在用的,但是這幾個東西是基本結構,用處分別是:

  • conf:這里可以放一些配置文件啥的,比如數據庫鏈接信息,接口域名等等。
  • interface: 這里就是放測試用例的地方了,下面可以根據項目需要進一步拆分模塊
  • report:可有可無吧,有的話你可以把生成的報告放這里
  • util:這里可以寫一些公共方法

這里僅僅作示意,名字隨便起,只要合適就行。

目前項目里在跑的框架內容就比這多了不少了,畢竟里面是好幾個業務都在一起,然后就有了各種各樣的問題,
需要框架去兼容解決,自然而然東西就會變多。

本文中只提供思路,供想要搭建接口自動化框架的伙伴參考,有問題可以留言或者私信我,當然了推薦最直接的就是
去搜索了,畢竟這是寫代碼的一項重要技能!!!

接下來會分享編寫接口自動化case需要注意的那些點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM