溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用springboot+vue組件實現(xiàn)接口斷言功能

發(fā)布時間:2023-05-17 15:18:18 來源:億速云 閱讀:85 作者:zzz 欄目:編程語言

本文小編為大家詳細(xì)介紹“如何使用springboot+vue組件實現(xiàn)接口斷言功能”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何使用springboot+vue組件實現(xiàn)接口斷言功能”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

基于 springboot+vue 的測試平臺

先看一下這個前端組件效果。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

一、組件的關(guān)系

上面功能效果實際上由3個組件一起完成的。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

在項目代碼中的位置如圖。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

  • ApiAssertions:最外層的組件,主要是添加斷言的入口,以及集成不同類型斷言子組件的地方。

  • ApiAssertionsEdit:不同的斷言組件都需要提供編輯功能,這里也作為集成不同類型斷言編輯子組件的地方。

  • ApiAssertionJsonPath:這個組件就是對于JSONPath類型的斷言,最底層的組件了。

這3個組件的包含關(guān)系就是:ApiAssertions -> ApiAssertionsEdit -> ApiAssertionJsonPath。

由于elementUI里并沒有一個現(xiàn)成的方案,所以還是需要利用零散的elementUI組件來組合,就像搭積木一樣。

盤點了一下,大概用了如下的elementUI組件,有興趣的童鞋可以自行針對性的去官網(wǎng)了解學(xué)習(xí):

  • el-select 選擇器

  • el-row、el-col,這是 Layout 布局

  • el-input,輸入框

  • el-tooltip,tips提示

  • el-button,按鈕

剩下的就是組件開發(fā)相關(guān)的知識了,在之前的文章中我也有過簡單的整理。

二、組件的開發(fā)

這部分大概介紹一下各個組件中的內(nèi)容和作用。

1. ApiAssertions

這里的作用就是提供添加斷言的入口,這里目前只有JSONPath是真實的,其他2個是假的。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

然后添加按鈕做了個控制,就是在沒選擇類型的時候是禁用的不讓點擊。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

然后這里包含了子組件ApiAssertionJsonPath,這里用了v-if來判斷類型,當(dāng)類型值為JSON_PATH的時候才顯示該組件。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

關(guān)于組件類型,這些都屬于常亮,所以為了更規(guī)范一些,我把這些值提出去放到了一個單獨(dú)的ApiTestModel.js文件中:

export const ASSERTION_TYPE = {
  TEXT: 'Text',
  JSON_PATH: 'JSONPath',
  DURATION: 'Duration'
}

接著,還有一個編輯組件ApiAssertionsEdit也是它的子組件,因為點擊添加之后,要展示出對應(yīng)JSONPath的列表,而且是可以繼續(xù)編輯的。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

注意到上面2個子組件都綁定了自定義的屬性assertions,這個屬性就是用來接收外部傳進(jìn)來的參數(shù)用的,所以在props中要先定義出來:

  props: {
    assertions: {
      type: Object,
      default: () => {
        return {}
      }
    }
  },
2. ApiAssertionsEdit

這個組件就是用于提供添加后的JSONPath的編輯功能,而且能提供斷言的列表展示效果。另外還有斷言的刪除以及禁用等功能。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

列表展示這里就是使用v-for了,變量斷言里JSONPath列表,然后把里面的數(shù)據(jù)拿出來展示。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

這里有一個:edit="true"這個屬性是ApiAssertionJsonPath組件所需要的,作用在下面說。

3. ApiAssertionJsonPath

這里就是最底層的組件了,大部分內(nèi)容也就在這里。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

代碼里用不同的elementUI組件把每列的內(nèi)容定義好即可。

注意在上層組件傳來的edit,在這里是用來判斷當(dāng)前是否為編輯狀態(tài)的,是的話就顯示刪除和禁用的組件。

如何使用springboot+vue組件實現(xiàn)接口斷言功能

其他的代碼就不具體截圖了,有需要的童鞋可以獲取源碼對著看。

接下來就要開發(fā)對應(yīng)的后端功能,就是如何把斷言數(shù)據(jù)落到數(shù)據(jù)庫里,也就是jsonpath這個對象里的這些字段。

    jsonPath: {
      type: Object,
      default: () => {
        return {
          type: ASSERTION_TYPE.JSON_PATH,
          expression: undefined,
          option: undefined,
          expect: undefined,
          description: undefined,
          enable: true
        }
      }
    },

讀到這里,這篇“如何使用springboot+vue組件實現(xiàn)接口斷言功能”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI