欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot vue組件開(kāi)發(fā)實(shí)現(xiàn)接口斷言功能

 更新時(shí)間:2022年05月26日 14:37:49   作者:把蘋(píng)果咬哭的測(cè)試筆記  
這篇文章主要為大家介紹了springboot+vue組件開(kāi)發(fā)實(shí)現(xiàn)接口斷言功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

基于 springboot+vue 的測(cè)試平臺(tái)

(練手項(xiàng)目)開(kāi)發(fā)繼續(xù)更新。

接下來(lái)準(zhǔn)備開(kāi)發(fā)請(qǐng)求斷言功能。關(guān)于這個(gè)功能要實(shí)現(xiàn)哪些需求,長(zhǎng)什么樣子,我參考了下其他優(yōu)秀的業(yè)界工具,比如apifox、metersphere等。

于是決定還是先緊著最常用的來(lái)開(kāi)發(fā):JSONPath、響應(yīng)時(shí)間、文本,而這些當(dāng)中,又以JSONPath為優(yōu)先。

老規(guī)矩,還是先看一下這個(gè)前端組件效果。

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

上面功能效果實(shí)際上由3個(gè)組件一起完成的。

在項(xiàng)目代碼中的位置如圖。

  • ApiAssertions:最外層的組件,主要是添加斷言的入口,以及集成不同類(lèi)型斷言子組件的地方。
  • ApiAssertionsEdit:不同的斷言組件都需要提供編輯功能,這里也作為集成不同類(lèi)型斷言編輯子組件的地方。
  • ApiAssertionJsonPath:這個(gè)組件就是對(duì)于JSONPath類(lèi)型的斷言,最底層的組件了。

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

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

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

el-select 選擇器

el-rowel-col,這是 Layout 布局

el-input,輸入框

el-tooltip,tips提示

el-button,按鈕

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

二、組件的開(kāi)發(fā)

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

1. ApiAssertions

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

然后添加按鈕做了個(gè)控制,就是在沒(méi)選擇類(lèi)型的時(shí)候是禁用的不讓點(diǎn)擊。

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

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

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

接著,還有一個(gè)編輯組件ApiAssertionsEdit也是它的子組件,因?yàn)辄c(diǎn)擊添加之后,要展示出對(duì)應(yīng)JSONPath的列表,而且是可以繼續(xù)編輯的。

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

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

2. ApiAssertionsEdit

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

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

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

3. ApiAssertionJsonPath

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

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

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

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

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

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

前端暫時(shí)就到這里,完整代碼更新

前端:

https://github.com/wessonlan/bloomtest-web

后端

https://github.com/wessonlan/bloomtest-backend

更多關(guān)于接口斷言前端vue組件開(kāi)發(fā)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于java中的PO VO DAO BO POJO(詳解)

    基于java中的PO VO DAO BO POJO(詳解)

    下面小編就為大家?guī)?lái)一篇基于java中的PO VO DAO BO POJO(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • SpringBoot獲取Request對(duì)象的常見(jiàn)方法

    SpringBoot獲取Request對(duì)象的常見(jiàn)方法

    HttpServletRequest 簡(jiǎn)稱(chēng) Request,它是一個(gè) Servlet API 提供的對(duì)象,用于獲取客戶(hù)端發(fā)起的 HTTP 請(qǐng)求信息,那么在SpringBoot中,獲取 Request對(duì)象的方法有哪些呢,本文小編將給大家講講SpringBoot獲取Request對(duì)象的常見(jiàn)方法
    2023-08-08
  • SpringBoot項(xiàng)目啟動(dòng)時(shí)增加自定義Banner的簡(jiǎn)單方法

    SpringBoot項(xiàng)目啟動(dòng)時(shí)增加自定義Banner的簡(jiǎn)單方法

    最近看到springboot可以自定義啟動(dòng)時(shí)的banner,然后自己試了一下,下面這篇文章主要給大家介紹了SpringBoot項(xiàng)目啟動(dòng)時(shí)增加自定義Banner的簡(jiǎn)單方法,需要的朋友可以參考下
    2022-01-01
  • Java集合WeakHashMap源碼分析

    Java集合WeakHashMap源碼分析

    這篇文章主要介紹了Java集合WeakHashMap源碼分析,和HashMap一樣,WeakHashMap 也是一個(gè)散列表,它存儲(chǔ)的內(nèi)容也是鍵值對(duì)(key-value)映射,而且鍵和值都可以是null,需要的朋友可以參考下
    2023-09-09
  • Java異常處理實(shí)例詳解

    Java異常處理實(shí)例詳解

    這篇文章主要介紹了Java異常處理實(shí)例詳解,列舉了實(shí)際例子講解的很清晰,有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • Java之BigDecimal的坑及解決

    Java之BigDecimal的坑及解決

    這篇文章主要介紹了Java之BigDecimal的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • MyBatis延遲加載策略深入探究

    MyBatis延遲加載策略深入探究

    本文主要為大家詳細(xì)介紹下mybatis的延遲加載,從原理上介紹下怎么使用、有什么好處能規(guī)避什么問(wèn)題。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-07-07
  • MyBatis傳遞多個(gè)參數(shù)方式

    MyBatis傳遞多個(gè)參數(shù)方式

    這篇文章主要介紹了MyBatis傳遞多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • SpringBoot集成Hadoop實(shí)現(xiàn)文件的上傳和下載功能

    SpringBoot集成Hadoop實(shí)現(xiàn)文件的上傳和下載功能

    Spring?Hadoop簡(jiǎn)化了Apache?Hadoop,提供了一個(gè)統(tǒng)一的配置模型以及簡(jiǎn)單易用的API來(lái)使用HDFS、MapReduce、Pig以及Hive,這篇文章主要介紹了SpringBoot集成Hadoop實(shí)現(xiàn)文件的上傳和下載,需要的朋友可以參考下
    2024-07-07
  • java程序員必須知道的4個(gè)書(shū)寫(xiě)代碼技巧

    java程序員必須知道的4個(gè)書(shū)寫(xiě)代碼技巧

    本篇文章主要給大家講述了作為JAVA程序員如何能寫(xiě)出高效的代碼以及運(yùn)行效率更高的代碼,一起學(xué)習(xí)分享下吧。
    2017-12-12

最新評(píng)論