最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

metershpere實(shí)現(xiàn)調(diào)用自定義jar包中的方法

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

背景

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

這時多數(shù)同學(xué)一定會選擇自己定義腳本來解決。

這樣所有復(fù)雜的實(shí)現(xiàn)邏輯都可以在jar包中實(shí)現(xiàn),在beanshell腳本中調(diào)用就顯得非常方便。

1. 生成jar包

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

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

在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中直接導(dǎo)入類名即可

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

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

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

2. 上傳Jar包

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

最后點(diǎn)擊查看將添加jar包開關(guān)打開

3. beanshell腳本調(diào)用代碼

如下:

import java.util.HashMap;
import GeneragteSignature;
// 參數(shù)為字符串
String myBody = "{\"userName\":\"xxx\",\"orderId\":\"1723333333\"}";
mySig1 = GeneragteSignature.getSignature1(myBody);
log.info("mySig1: " + mySig1);
 
//參數(shù)為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. 腳本中演示了兩種參數(shù)方式調(diào)用,一種直接傳消息體字符串,這個字符串需要經(jīng)過壓縮轉(zhuǎn)義

大家可以直接到網(wǎng)上查找json字符串壓縮轉(zhuǎn)義網(wǎng)站進(jìn)行處理,如:

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

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

總結(jié)

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

相關(guān)文章

  • Java集合框架Set&Map詳細(xì)解析

    Java集合框架Set&Map詳細(xì)解析

    這篇文章介紹了Java集合框架中的Map和Set接口,Map接口用于存儲鍵值對,常用實(shí)現(xiàn)類有HashMap、LinkedHashMap和TreeMap,Set接口用于存儲唯一元素,常用實(shí)現(xiàn)類有HashSet、LinkedHashSet和TreeSet,每種實(shí)現(xiàn)類都有其特點(diǎn)和適用場景,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • Spring Dao層@Repository與@Mapper的使用

    Spring Dao層@Repository與@Mapper的使用

    這篇文章主要介紹了Spring Dao層@Repository與@Mapper的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java中異或的深入講解

    Java中異或的深入講解

    這篇文章主要給大家介紹了關(guān)于Java中異或的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java對接阿里云短信服務(wù)保姆級教程(新手秒會)

    Java對接阿里云短信服務(wù)保姆級教程(新手秒會)

    這篇文章主要介紹了如何在阿里云上申請短信服務(wù)以及如何使用Java代碼進(jìn)行對接,包括申請資質(zhì)、簽名和模板,以及編寫Java代碼整合成工具類進(jìn)行調(diào)用的步驟,需要的朋友可以參考下
    2024-12-12
  • 淺析JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承

    淺析JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承

    這篇文章主要介紹了 JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承的相關(guān)資料,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    大家好,本篇文章主要講的是Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Java使用@Retryable注解實(shí)現(xiàn)HTTP請求重試

    Java使用@Retryable注解實(shí)現(xiàn)HTTP請求重試

    HTTP調(diào)用是Java應(yīng)用與外部API進(jìn)行交互時重要的訪問方式之一,為了確保在遇到臨時性問題時能自動重試,我們可以設(shè)計一個靈活的重試機(jī)制,在Java中,我們可以通過注解來實(shí)現(xiàn)這一功能,文將介紹如何使用注解@Retryable來實(shí)現(xiàn)HTTP調(diào)用的重試機(jī)制,需要的朋友可以參考下
    2024-10-10
  • Myeclipse工程發(fā)布時端口占用問題的解決方法

    Myeclipse工程發(fā)布時端口占用問題的解決方法

    這篇文章主要介紹了Myeclipse工程發(fā)布時端口占用問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Mybatis update數(shù)據(jù)庫死鎖之獲取數(shù)據(jù)庫連接池等待

    Mybatis update數(shù)據(jù)庫死鎖之獲取數(shù)據(jù)庫連接池等待

    這篇文章主要介紹了Mybatis update數(shù)據(jù)庫死鎖之獲取數(shù)據(jù)庫連接池等待的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • IDEA2023.3.4開啟SpringBoot項目的熱部署(圖文)

    IDEA2023.3.4開啟SpringBoot項目的熱部署(圖文)

    本文使用的開發(fā)工具是idea,使用的是springboot框架開發(fā)的項目,配置熱部署,可以提高開發(fā)效率,文中通過圖文介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02

最新評論

德令哈市| 慈利县| 五峰| 通海县| 修武县| 通化县| 阜城县| 永宁县| 西昌市| 丹凤县| 通州区| 清苑县| 丽水市| 淄博市| 八宿县| 繁昌县| 娄烦县| 禄丰县| 安宁市| 龙口市| 上饶市| 柘荣县| 宁津县| 雷州市| 济南市| 太湖县| 苏州市| 通河县| 昔阳县| 改则县| 綦江县| 柳林县| 成武县| 长岛县| 天峻县| 聂荣县| 大冶市| 兴仁县| 太白县| 古浪县| 华亭县|