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

metershpere實現調用自定義jar包中的方法

 更新時間:2024年10月24日 12:04:53   作者:gr1785  
在MeterSphere接口測試中,面對多層循環(huán)邏輯和邏輯判斷等復雜情況,直接編寫測試用例往往顯得混亂不便,本文介紹了一個簡化這一過程的方法:首先使用IDEA創(chuàng)建Maven工程,編寫所需邏輯并生成jar包;然后在MeterSphere中上傳此jar包

背景

在編寫一些稍微復雜一點的邏輯的接口測試用例時,大家可以感覺到metershpere用起來并不方便,即使用已有的控件寫出來了看起來也異?;靵y,比如有多層循環(huán)邏輯再加上一些邏輯判斷,場景變量,全局變量來回變更時,保證metershpere的界面會讓你看的頭暈。

這時多數同學一定會選擇自己定義腳本來解決。

這樣所有復雜的實現邏輯都可以在jar包中實現,在beanshell腳本中調用就顯得非常方便。

1. 生成jar包

IDE 選擇IDEA,網上可以下載到社區(qū)版,對于我們編jar完全夠用。

新建工程時建議選擇maven工程,這樣后續(xù)導入依賴庫和編包都會很方便。

在pom.xml中添加項目的三方依賴庫

編寫完代碼后直接雙擊package即可生成jar包

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
 
public class GenerateSignature {
    public static String getSignature1(String myJsonString)
    {
        LinkedHashMap<String, Object> body = JSON.parseObject(myJsonString, LinkedHashMap.class, Feature.OrderedField);
        JSONObject myJsonObject = new JSONObject(body);
        System.out.println(myJsonObject.toString());
        String myStr = getSigStr1(body);
        String signature = MD5Util.getMd5Lower(myStr);
        return signature+"_"+myTime;
 
    }
 
    public static String getSignature2(HashMap<String,Object> myHashMap)
    {
        int myShutMapTime = 0;
        int myDelayTime = 0;
        List<String> myStoreCodes = null;
        String myStoreCode = null;
        String mySignatureContent = null;
        Integer myId = (Integer) myHashMap.get("myId");
        String myReason = (String) myHashMap.get("myReason");
        int myType = (int) myHashMap.get("myType");
        long myTime = (long) myHashMap.get("time");
 
        String signature = MD5Util.getMd5Lower(mySignatureContent);
        return signature;
    }
}

說明:

1. 在工程src/main/java下面如果沒有定義目錄,在beanshell中直接導入類名即可

  • import GenerateSignature; 如果有包名目錄,需要帶上包名路徑,如
  • import com.test.GenerateSignature

2. GenerateSignature類中提供出來的方法建議都定義成public static 形式,這樣在beanshell腳本中通過類名可以直接調用 GenerateSignature.getSignature1("myString")

3. 參數傳入可以以消息體字符串傳入,也可以以Map形式傳入

2. 上傳Jar包

項目設置==》文件管理==》添加文件 選擇文件上傳

最后點擊查看將添加jar包開關打開

3. beanshell腳本調用代碼

如下:

import java.util.HashMap;
import GeneragteSignature;
// 參數為字符串
String myBody = "{\"userName\":\"xxx\",\"orderId\":\"1723333333\"}";
mySig1 = GeneragteSignature.getSignature1(myBody);
log.info("mySig1: " + mySig1);
 
//參數為Map
Map map = new HashMap();
map.put("myId", null);
map.put("myReason", null);
map.put("myType", 1);
map.put("time", 0L);
mySig2 = GeneragteSignature.getSignature2(map1);
log.info("mySig2: " + mySig2);

說明:

1. 腳本中演示了兩種參數方式調用,一種直接傳消息體字符串,這個字符串需要經過壓縮轉義

大家可以直接到網上查找json字符串壓縮轉義網站進行處理,如:

2. 如果已Map形式傳入,需要注意map中字段類型,比如如果是long行,傳入值需要寫成 0L 形式

3. 聲明為Map形式可以直接這樣寫 Map map = new HashMap(); 不需要帶泛型<>, 如果帶了beanshell可能會不支持

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用java.nio.file?庫優(yōu)雅的操作文件詳解

    使用java.nio.file?庫優(yōu)雅的操作文件詳解

    這篇文章主要介紹了使用java.nio.file?庫優(yōu)雅的操作文件詳解,需要的朋友可以參考下
    2023-05-05
  • SpringBoot整合阿里云OSS對象存儲服務的實現

    SpringBoot整合阿里云OSS對象存儲服務的實現

    這篇文章主要介紹了SpringBoot整合阿里云OSS對象存儲服務的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 詳解JAVA中的Collection接口和其主要實現的類

    詳解JAVA中的Collection接口和其主要實現的類

    這篇文章主要介紹了JAVA中的Collection接口和其主要實現的類,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • JAVA連接到SQLserver的步驟方法以及遇到的問題

    JAVA連接到SQLserver的步驟方法以及遇到的問題

    java相對于其他語言(例如c,c++等)連接數據庫要方便得多,下面這篇文章主要給大家介紹了關于JAVA連接到SQLserver的步驟方法及遇到的問題,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • SpringBoot整合RabbitMQ 手動應答(簡單demo)

    SpringBoot整合RabbitMQ 手動應答(簡單demo)

    這篇文章主要介紹了SpringBoot整合RabbitMQ 手動應答 簡單demo,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • springboot整合gateway的詳細過程

    springboot整合gateway的詳細過程

    本文介紹了如何配置和使用Spring Cloud Gateway構建一個API網關,通過實例代碼介紹了springboot整合gateway的過程,需要的朋友可以參考下
    2025-01-01
  • Springboot利用Redis實現接口冪等性攔截

    Springboot利用Redis實現接口冪等性攔截

    這篇文章主要為大家介紹了Springboot如何利用Redis實現接口冪等性攔截。本文將通過自定義注解+redis+攔截器+MD5?實現,感興趣的可以了解一下
    2022-06-06
  • java學習之理解自動拆裝箱特性

    java學習之理解自動拆裝箱特性

    這篇文章主要介紹java自動拆裝箱特性以及java自動拆裝箱的應用,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家早日升職加薪
    2021-09-09
  • SpringBoot?Security的自定義異常處理

    SpringBoot?Security的自定義異常處理

    這篇文章主要介紹了SpringBoot?Security的自定義異常處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • tomcat的keepAlive參數深入探究

    tomcat的keepAlive參數深入探究

    這篇文章主要為大家介紹了tomcat的keepAlive參數深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11

最新評論