接口自動化-YAPI+GITLAB+JENKINS+飛書暢想與實踐

起因

  • 工作中遇到期望做接口自動化,之前公司跟著團隊做過python+request搭建的自動化框架,逐步完善框架本身,與接口測試用例本身,都是需要代碼編寫能力較強,能保證框架本身沒問題,也要保證接口用例本身沒問題。
  • 領(lǐng)導(dǎo)期望接口自動化能做到閉環(huán),從代碼產(chǎn)生開始到接口測試結(jié)果結(jié)束,都可以圈入一個閉環(huán)。
  • 沒有足夠的代碼能力,去維護一個全新的框架或工具,只能在現(xiàn)有工具的功能上做相應(yīng)的優(yōu)化與耦合。

工具準備與環(huán)境前提

  • 當(dāng)前公司現(xiàn)有工具流程已集成:
    • 代碼gitlab管理;
    • 后端服務(wù)集成rancher管理;
    • 客戶端代碼通過jenkins構(gòu)建打包;
    • 接口文檔完善,通過IDEA插件自動導(dǎo)入到y(tǒng)api管理,yapi可做接口自動化,接口變更時,測試集合也會自動更新;
    • 團隊使用飛書,創(chuàng)建了群組后有群組機器人概念,可用作接口測試結(jié)果通知。
  • 以上平臺和工具有相應(yīng)權(quán)限的賬號

解決的問題

  1. yapi接口測試:參考官方文檔:插件安裝、登錄后配置全局token、服務(wù)端測試、斷言;
  2. 飛書機器人:參考官方文檔:創(chuàng)建機器人、postman組裝調(diào)用機器人模擬發(fā)消息的post請求接口、從postman獲得相應(yīng)的curl;
  3. Jenkins:配置構(gòu)建執(zhí)行curl、拿到自己賬號的token;
  4. gitlab:web hook 功能,配置觸發(fā)條件下,執(zhí)行某post類型的請求接口;yapi服務(wù)端測試的URL是get類型,不能直接放到web hook里;飛書機器人的接口是post,但是web hook里無法添加傳參,所以也無法直接添加進去web hook;Jenkins某項目配置構(gòu)建,拿到賬號A:token后,可組裝post請求的接口,可直接放到web hook,模擬賬號A手動點了立即構(gòu)建的操作。
  5. 綜上,可實現(xiàn)在gitlab代碼有變動時,觸發(fā)jenkins對應(yīng)項目自動構(gòu)建,構(gòu)建通過shell方式,執(zhí)行相應(yīng)腳本,完成請求yapi接口測試-服務(wù)端測試的curl,并請求飛書機器人發(fā)送相關(guān)信息到群組的curl

待解決的問題

  • yapi新增測試集合時,自動同步到Jenkins構(gòu)建執(zhí)行的腳本里
  • yapi測試集合里編寫斷言時,部分判斷條件無法滿足等。

正文

參考資料

飛書官方文檔:機器人操作使用
yapi官方文檔:接口自動化測試
yapi配置token:
先登錄獲取token,設(shè)置傳參
storage的使用
gitlab配置web hook :Gitlab 利用 Webhook+jenkins 實現(xiàn)自動構(gòu)建與部署
jenkins配置構(gòu)建執(zhí)行:Yapi在Jenkins中配置服務(wù)端測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容