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

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

固然了,這裏也就不展開討論了,仍是回到接口自動化這個點,來講一說你至少改具有的東西。java

1、編程語言的選擇

若是有特殊要求用某種語言的話,你沒什麼好選。若是沒有特殊要求,我我的偏向於使用python語言。python

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

我記得當時領導說是爲了讓測試的開發語言與開發同步,因此就讓咱們轉用java來開發了。可是我仍是那句話,
若是沒有特殊要求,我仍是果斷擁抱pythonsql

這裏要再加個題外話,那是否是以爲會用python就足夠了?擱之前或許是吧,可是如今確定不是了。java仍是
要學的,你看看大多數公司開發用的什麼語言,就是java。反正多掌握幾個主流的開發語言確定不會虧。數據庫

2、單元測試框架的選用

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

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

3、善於優秀的第三方庫

框架定了pytest,那麼就能夠用它結合着衆多優秀的開源庫去實現本身的需求啦,這裏寫幾個經常使用的:編程語言

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

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

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

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

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

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

目前項目裏在跑的框架內容就比這多了很多了,畢竟裏面是好幾個業務都在一塊兒,而後就有了各類各樣的問題,
須要框架去兼容解決,天然而然東西就會變多。

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

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

相關文章
相關標籤/搜索