基於 Springboot+vue 的介面自動化平臺

Blue發表於2020-12-12

前言

為什麼要做這個介面自動化平臺?

  1. 網上有各種形形色色的優秀的開源平臺,但都不是我自己寫的。改別人的程式碼太痛苦了,還不如自己寫一個
  2. 公司沒有介面平臺,介面都放在postman裡,不方便管理,也不方便共享
  3. 提升自己的競爭力

這個介面自動化平臺做了多久?

1.從7月份決定開始做,決定技術棧:springboot + vue + mybatis-plus + shiro +. ..
2.構思怎麼做,去postman,YApi,各個平臺上找靈感
3.最開始許可權這塊打算自己用shiro做,寫到一大半的時候,發現自己不會寫前端程式碼,於是去找了個開源的前端+後端許可權管理平臺,推倒了重新來,附開源平臺的地址:https://github.com/goufaning/permission,感謝這位大哥,感謝開源,省了一大堆需要寫的程式碼
4.覺得開源平臺的UI有點點醜(大哥對不起),打算自己重新寫。由於前端水平菜的一筆,學了將近一個月的vue從入門到精通(學完了才發現還是入門)
5.終於等一切拖拖拉拉搞定了,到了國慶節的第一天,打算開始了,到了國慶節的第八天才起了個不倫不類的名字,AutoToAll--一切都自動化,既是目標也是實在想不出其他的名字了
6.到昨天(12月11號)終於上了伺服器,下週一開始公司內部用起來,總共兩個月多點,真正寫程式碼的時間頂多一個半月,該死的拖延症。。。只寫了第一個版本,後面需要功能和優化的一大堆

設計思路是什麼樣的?

  1. 憑空想象
  2. 借鑑(抄襲)
  3. 原則上不喜歡選單太多的(比如url一個選單,專案一個選單,介面一個選單,用例一個選單,分的太開了特別討厭),不喜歡操作太麻煩的(postman的key 和 value 分開),我的平臺全憑我自己的喜好佈局(寫的爛開發也不敢說話)

正文

登入頁--工具人

介面相關的選單:介面除錯和產品列表

介面除錯高仿postman

請求引數只分兩種form-data,json,目前公司的介面這兩種已經完全夠用了

除錯沒問題了,可以直接儲存到產品下的目錄裡

然後進入產品列表,這裡所有的按鈕都做了許可權控制,但是沒有做資料許可權,後續會優化這塊

點選產品名稱進入介面列表,左邊是介面列表樹,右邊是表格形式的

點兩個紅框的地方,可以進行介面除錯,佈局同上

點選右上角的新增介面到新增介面頁面,當然可以點第二個tab先進行介面除錯,再儲存,佈局同上

新增介面和編輯介面的右上角都有:專案通用常量 和 本專案可用公共引數

專案通用常量:所有地方都能用的常量,格式是 @常量名稱,另外還有隨機數生成函式,格式是_randomNum(6) (隨機生成長度6位的數字)

本專案可靠用公共引數:只在本專案中可用,到其他專案不能用,格式是:${global:xxxx}

請求引數是form-data格式的編輯頁,header和請求引數已經被分割成key和value了,還可以新增描述

請求引數是json格式的編輯頁,另外新增了key,value,描述,可以自己新增

當然介面編輯頁,也可以介面除錯。。。不過這次只有一個按鈕了

再看介面詳情頁,當然也可以除錯了

但是詳情頁多了兩個功能,引數化和結果校驗

引數化支援獲取請求引數的value,response的value,該引數化只支援本專案的介面,除錯以後可以生成value

結果校驗是對resonse進行校驗,後續會支援jsonschema和sql校驗(抄襲了兔子的結果校驗 @l54808821

介面列表的第二個tab是介面集合,支援將本專案的介面加入到集合中進行批量執行

點選立即執行完成後,再點檢視日誌,可以看到近十條日誌

第三個按鈕是定時任務,可選每天,週一到週日的某個時間

調換介面順序,放到了集合的編輯頁,可以拖拽table來調換順序

最後執行完成後,如果失敗了會同步到企業微信

後續

以上是第一個版本的所有功能了,很多都靠YY,自以為是,不知道具體使用起來怎麼樣,下週可以見分曉了 !!加油,努力!!

後面打算做的介面相關的功能:1. mock 2.批量除錯的時候可以日誌同步在前臺展示 3. fuzz

預計年後開源,以前還以為有些大神說程式碼寫的爛是瞎扯,現在看看我寫的程式碼,那是真的爛

相關文章