精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

自動化實踐-全量Json對比在技改需求提效實踐

開發 前端
在這種需要對接口返回response做全量json對比的背景下,商家域新的自動化平臺新增了json全量對比的組件。在多個技改項目,比如服務拆分和BC流量拆分項目中這種比較大,花費人日比較多的項目測試中,應用了json全量對比驗證。在實踐過程中,比如原來要先寫自動化,把響應結果挨個驗證,或者在不同染色請求跟拆分前代碼分別執行再對比結果。

1、背景

隨著自動化測試左移實踐深入,越來越多不同類型的需求開始用自動化測試左移來實踐,在實踐的過程中也有了新的提效訴求,比如技改類的服務拆分項目或者BC流量拆分的項目,在實踐過程中,這類需求會期望不同染色環境在相同的配置條件下,拆分后的代碼和基準release代碼的接口響應response有全量對比結果才能更好達到需求驗證點。

2、實踐成果

在這種需要對接口返回response做全量json對比的背景下,商家域新的自動化平臺新增了json全量對比的組件。在多個技改項目,比如服務拆分和BC流量拆分項目中這種比較大,花費人日比較多的項目測試中,應用了json全量對比驗證。在實踐過程中,比如原來要先寫自動化,把響應結果挨個驗證,或者在不同染色請求跟拆分前代碼分別執行再對比結果。

在這種技改需求訴求下,全量json對比組件很好地滿足了需要驗證大量的服務拆分前接口和服務拆分后的接口返回json值全量對比。以商家服務拆分技改為例,技改跨幾個迭代,需要回歸大量的接口(目前該技改測試的接口已過千,還在跨迭代測試中)。測試過程利用全量json對比組件,不光測試一輪極大提高了測試效率,在二輪還可以用自動化回歸提效。

3、實踐過程

3.1 源組件:JSONCompareUtils

本次全量json對比引用的源組件是JSONCompareUtils,是Artemis框架提供的。JSONCompareUtils提供基于萬行級Json的精確比對能力,這個能力基于一套嵌套降噪配置的遞歸算法實現。在配置合理的情況下,能快速進行較大Json串的比對。詳情如下:

引入方式:

maven配置

版本說明

<dependency>

<groupId>com.dewu.tester</groupId>

<artifactId>artemis</artifactId>

<version>1.1.9-SNAPSHOT</version>

</dependency>

  1. 發布JSONChecker的工具。
  2. 發布使用樣例:JSONCompareExample

方法名:JSONCompare

參數:JSON expect, JSON actual, Properties properties

參數名

參數類型

類名說明

expect

期望比對的json串

com.alibaba.fastjson.JSON

actual

真實比對的json串

com.alibaba.fastjson.JSON

properties

比對方式和比對降噪配置

java.util.Properties

public static Map<String, String> JSONCompare(JSON expect, JSON actual, Properties properties) {
    Map<String, String> diffs = new HashMap<>();


    if (null == expect && null == actual) {
        return diffs;
    } else if (expect instanceof JSONObject && actual instanceof JSONObject) {
        diffs.putAll(JSONObjectCompare((JSONObject) expect, (JSONObject) actual, "$", properties));
    } else if (expect instanceof JSONArray && actual instanceof JSONArray) {
        diffs.putAll(JSONArrayCompare((JSONArray) expect, (JSONArray) actual, "$", properties));
    } else {
        diffs.put("$", (expect + COMPARE_ARROW + actual) + "not the same instance type");
    }


    if (!org.springframework.util.CollectionUtils.isEmpty(diffs)) {
        for (Map.Entry<String, String> entry : diffs.entrySet()) {
            logger.info("[key]" + entry.getKey() + "," + "[value]" + entry.getValue());
        }
    }
    TrackingUtils.tracking();
    return diffs;
}

JSONCompareUtils組件改造后適應于目前效能平臺適用的自動化平臺組件。

改造后的組件:

改造后的組件名:21471: [JSON] 全量比對-兩Json傳入:對比接口提取返回與入參的json異同。

修改點:改成對比兩個接口提取返回,提取字段取名json1、json2。

入參保留propeties:返回多個時候的排序字段,沒有默認空,不排序。

舉例:"propeties": "$.data.order=order_no",$.data.order為list[Object],以Object中order_no排序后,再對list做對比。

import json
import requests


def call(env_vars, g_vars, l_vars, sys_funcs, asserts, logger, **kwargs):
    param = sys_funcs.get_call_param()
    path = "http://******/artemis/component/interface-platform/compare/json"
    method = "POST"
    actual1 = l_vars.get("json1")
    actual2 = l_vars.get("json2")


    headers = {
        "Content-Type":"application/json; charset=utf8",
    }
    body = {
        "expect" : json.dumps(actual1,ensure_ascii=False),
        "actual" : json.dumps(actual2,ensure_ascii=False),
        "properties" : str(param["propeties"])
    }
    logger.info("Artemis請求body:" + str(body))
    try:
        resq = requests.post(
            path,
            data = json.dumps(body),
            headers = headers,
            timeout=8
        )
        res = json.loads(resq.text)
        logger.info("======================artemis組件結果======================")
        logger.info(res)
        
        asserts.assertTrue(res["success"], msg="調用artemis-interface異常")
        asserts.assertEqual(str(res["data"]), "{}", msg="存在不一致比對數據 :")
    except Exception as e:
        logger.info(f'執行JSON比對失敗【{str(e)}】')
        raise e
    return res

3.3 組件應用

步驟1: 提取接口返回json1、json2

圖片圖片

圖片圖片

步驟2: 添加組件

圖片圖片

步驟3:對比上面兩個接口的提取的返回值

圖片圖片

3.4 實踐場景

3.4.1 實踐一

提取接口返回全量標準被參照對比的標準json1,再提取新代碼中期望跟標準json1對比的json2,添加全量json組件,對比json1和json2的值。

測試場景:服務拆分技改類需求中需要對不同服務兩個或者多個接口返回response全量json結果對比的場景;

提取被參照對比全量json1見圖一,對比全量json2見圖二,組件執行結果見圖三:

圖片

圖1


圖片

圖2

圖片圖片

圖3

3.4.2 實踐二

返回json多次設置、多次對比數據。

測試場景:BC流量拆分前和拆分后的代碼不同接口路由但是同一個業務功能,返回response全量json需要在不同染色多次對比結果的場景

json1、json2可進行多次設置、多次對比。

3.4.3 實踐三

全量json對比不同環境返回數據。

測試場景:拆分前和拆分后的代碼相同接口需要在相同配置不同染色環境下返回response全量json結果對比的場景

服務拆分的接口,不同染色環境對比返回的結果:舉例如下:

圖片圖片

圖片圖片

3.4.4 實踐四

全量json對比list結果返回順序不一致的數據。

測試場景:拆分前和拆分后的代碼相同接口返回response全量json需要先排序再對比結果的場景

Demo如下:

服務拆分的接口,請求是一個list數組,每次調用返回的list里面的順序可能不一致,可利用組件的參數先排序再對比json返回結果,兩個接口返回的json如下:

圖片圖片

可用組件的"propeties": "$.data=userId"(或者"propeties": "$.data=merchantId")json里面的list先排序再對比,這樣就規避了list返回順序不一致的情況:

圖片圖片

4、結論

在實際測試過程中,技改的需占比也不小,幾乎每個迭代每個域都會有技改類的需求。本文為例,舉了幾個例子涉及提效需求點:

  1. 服務拆分技改類需求中需要對不同服務兩個或者多個接口返回response全量json結果對比的場景;
  2. 拆分前和拆分后的代碼相同接口需要在相同配置不同染色環境下返回response全量json結果對比的場景;
  3. 拆分前和拆分后的代碼相同接口返回response全量json需要先排序再對比結果的場景;
  4. BC流量拆分前和拆分后的代碼不同接口路由但是同一個業務功能,返回response全量json需要在不同染色多次對比結果的場景。

以上場景均能通過自動化+全量json對比組件的方式去提效測試,且在后續回歸中直接用自動化覆蓋回歸,尤其在商家服務拆分跨好幾個迭代涉及上千個接口的大的技改類需求中,達到明顯的提效效果。

公司目前提供了很多現有的平臺和小工具,不同類型的技改需求可以利用平臺+小工具模式去實踐應用,適合的場景下合理地應用,可以達到事半功倍的效果。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2022-08-26 09:51:33

Web前端自動化

2022-07-08 11:18:33

前端實踐自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2025-02-07 12:58:33

python自動化腳本

2023-03-29 08:33:03

倉儲自動化系統

2024-07-11 11:31:17

2018-07-13 09:53:27

移動應用美團代碼

2015-05-25 19:34:06

KickstartCentOS

2013-11-27 11:34:43

自動化部署Python

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE

2021-11-15 08:32:21

JenkinsAndroid自動化

2025-09-28 01:22:00

AI前后端智能化

2022-09-12 16:02:32

測試企業工具

2023-03-07 08:30:09

MCube模板緩存

2017-10-31 15:19:24

支付通道自動化

2017-08-29 09:57:26

SaaS產品自動化

2015-08-05 09:53:34

運維自動化

2022-07-14 10:06:20

工作流引擎營銷自動化vivo

2019-12-05 16:01:24

云計算行業科技

2017-06-16 09:39:32

優酷實踐阿里云
點贊
收藏

51CTO技術棧公眾號

久久精品一区二区三区不卡牛牛| 久久深夜福利| 精品福利在线导航| 成人综合视频在线| 日本精品在线| 成人黄色综合网站| 国产精品久久久久久亚洲影视| 成人免费视频网站入口::| 日韩成人午夜| 日韩一级大片在线观看| av动漫在线观看| www.在线视频| 国产欧美日韩三级| 国产精品手机在线| 91久久国语露脸精品国产高跟| 亚洲毛片播放| 欧美成人在线免费| 东方伊人免费在线观看| 国产精品超碰| 在线播放/欧美激情| 久久久精品在线视频| 99热国产在线中文| 中文字幕第一区第二区| 国产精品一区二区免费| 国产精品羞羞答答在线| 久热精品视频| 性色av一区二区三区| 91人妻一区二区三区蜜臀| 国产精品欧美日韩一区| 亚洲第一精品自拍| 久久人人爽人人片| 日韩欧乱色一区二区三区在线| 欧美日韩国产专区| 日韩人妻无码精品久久久不卡| 老司机在线永久免费观看| heyzo一本久久综合| 成人黄视频免费| 国产强伦人妻毛片| 韩国av一区二区| 国产女精品视频网站免费| 国产在线观看黄色| 国产精品视区| 91wwwcom在线观看| 日本三级中文字幕| 影院欧美亚洲| 久久久久久久久网站| 久草免费新视频| 欧美激情 亚洲a∨综合| 美女黄色丝袜一区| 18岁成人毛片| 午夜久久黄色| 欧美精品www在线观看| 欧美成人综合色| 欧美激情亚洲| 欧美大荫蒂xxx| 毛片a片免费观看| 黑人一区二区| 97免费中文视频在线观看| 国产一级免费av| 尤物精品在线| 热久久美女精品天天吊色| 久久99国产综合精品免费| 噜噜噜91成人网| 国产91免费观看| 日韩国产亚洲欧美| 久久精品国产成人一区二区三区| 成人xvideos免费视频| 一区二区日韩在线观看| 国产一区二区福利视频| 91超碰rencao97精品| 俄罗斯嫩小性bbwbbw| gogo大胆日本视频一区| 欧美精品免费观看二区| 成人午夜电影在线观看| 中文字幕在线观看一区二区| 亚洲国产精品影视| 9lporm自拍视频区在线| 在线视频国内自拍亚洲视频| av在线网址导航| 爱爱精品视频| 亚洲人成免费电影| 午夜爽爽爽男女免费观看| 亚洲视频免费| 国产成人精品在线播放| 国产精品污视频| 成人动漫中文字幕| 三级三级久久三级久久18| 国产人成网在线播放va免费| 午夜精品福利久久久| 国产精品少妇在线视频| 国产精品一区二区三区www| 精品少妇一区二区三区日产乱码| 蜜臀av一区二区三区有限公司| 久久精品播放| 国模精品视频一区二区三区| 夜夜爽妓女8888视频免费观看 | 国产免费观看高清视频| 欧美与亚洲与日本直播| 日韩免费视频一区| 成人免费毛片糖心| 欧美三级不卡| 国产精品中文字幕在线观看| 亚洲高清视频网站| 国产精品午夜久久| 91专区在线观看| 9.1麻豆精品| 亚洲欧美一区二区三区在线| 九九精品视频免费| 久久一区精品| 国产伦精品一区二区三区四区视频| 黄色在线网站| 高清不卡日本v二区在线| 中文字幕一区二区三区人妻在线视频| 日韩极品在线| 久久久精品视频成人| 手机看片久久久| 国产美女在线精品| 亚洲高清123| 在线手机中文字幕| 精品国产免费一区二区三区香蕉| 超薄肉色丝袜一二三| 亚洲高清自拍| 91在线免费看网站| 在线视频1区2区| 一本一道综合狠狠老| 毛茸茸free性熟hd| 欧美视频导航| 91亚洲精品久久久久久久久久久久| 精品一二三区视频| 福利视频第一区| 无码av免费精品一区二区三区| 91精品国产视频| 国产精品久久婷婷六月丁香| 青青草视频免费在线观看| 亚洲高清免费观看 | 国产大片aaa| 国产高清视频一区| 欧洲金发美女大战黑人| 2019中文亚洲字幕| 麻豆成人在线看| 97久久人国产精品婷婷| 中文字幕一区二区三中文字幕 | 国产精品1区二区.| 美国av在线播放| 精品美女一区| www.xxxx欧美| 国产麻豆精品一区| 亚洲欧美aⅴ...| 中国老熟女重囗味hdxx| 欧美精品97| 国产精品免费在线| 91丝袜在线| 日韩av在线最新| 国产寡妇亲子伦一区二区三区四区| 91色在线porny| 日韩在线第三页| 欧美亚洲高清| 91精品久久久久久久久久久| 麻豆影视国产在线观看| 91精品国产综合久久久久| 丝袜 亚洲 另类 欧美 重口 | 野外性满足hd| 日本美女视频一区二区| 一区二区精品视频| 日韩一级淫片| 国语对白做受69| 欧美美乳在线| 精品视频999| 四虎免费在线视频| 成人激情av网| 日日噜噜夜夜狠狠| 先锋资源久久| 精品国产一区二区三区四区精华| 日韩欧美一中文字暮专区| 亚洲视频在线看| 一级黄色大片免费观看| 亚洲影院久久精品| 国产麻豆天美果冻无码视频 | 一本一本久久a久久综合精品| 97se亚洲综合在线| 欧产日产国产精品视频| 中文字幕av一区| www.99视频| 色综合久久久久久久| 国内毛片毛片毛片毛片毛片| 粉嫩久久99精品久久久久久夜 | 免费看一级一片| 久久亚洲一级片| 99日在线视频| 亚洲一区二区成人| 久久久久久久免费视频| 人人香蕉久久| 91探花福利精品国产自产在线| av女在线播放| 久久视频在线免费观看| 你懂的在线观看视频网站| 欧美夫妻性生活| 日日噜噜噜噜人人爽亚洲精品| 中文字幕一区二区在线观看 | 国产精品久久久久一区二区三区共| 国产人妖在线观看| 日本系列欧美系列| 亚洲 高清 成人 动漫| 久久精品国产大片免费观看| 九色91视频| 日韩精品一区二区三区免费视频| 日韩av三级在线观看| 亚洲妇熟xxxx妇色黄| 国产亚洲精品一区二555| 人成网站在线观看| 91精品在线免费| www.五月婷婷.com| 五月天亚洲婷婷| 日韩欧美中文字幕视频| 国产精品伦理一区二区| 中文字幕av网址| 成人午夜视频福利| 国产免费中文字幕| 日本va欧美va瓶| 男人天堂999| 亚洲理论在线| 青草视频在线观看视频| 中文字幕一区二区精品区| 亚洲国产日韩欧美| 教室别恋欧美无删减版| 精品欧美国产| 国产精品超碰| 99视频日韩| 国产麻豆精品| 91久久精品日日躁夜夜躁国产| 韩国成人在线| 日韩美女中文字幕| 亚洲私拍视频| 琪琪第一精品导航| 性欧美又大又长又硬| 久久免费国产视频| 岛国毛片av在线| 久久久久久国产精品| 久久免费电影| 欧美激情欧美激情| 激情网站在线| 欧美精品videosex性欧美| 黑人精品视频| 久久久日本电影| 888av在线视频| 91精品国产91久久久久久吃药| 福利网站在线观看| 午夜精品久久久久久久男人的天堂 | 99草在线视频| 日韩亚洲欧美在线观看| av中文字幕第一页| 精品奇米国产一区二区三区| 亚洲欧美激情在线观看| 亚洲成人在线网| 日韩在线观看视频一区| 日韩精品在线视频观看| 精品亚洲成a人片在线观看| 国产一区二区三区精品久久久| 国产精品久久久久一区二区国产| 一本色道久久88亚洲综合88| 69视频在线| 欧美精品在线免费观看| 欧美高清另类hdvideosexjaⅴ | 日产电影一区二区三区| 精品国产成人在线| 国产一区二区视频免费| 欧美精品久久一区| www.日韩高清| 亚洲精品一二区| 日本视频不卡| 欧美疯狂性受xxxxx另类| 黄色在线网站噜噜噜| 国产精品69av| 美女久久精品| 久久综合九色99| 日韩片欧美片| 女人色极品影院| 久热精品视频| 久久黄色一级视频| www一区二区| 波多野结衣喷潮| 天天操天天干天天综合网| 波多野结衣二区三区| 日韩一级黄色片| 韩日视频在线| 欧美福利小视频| 日韩精选视频| www.一区二区三区| 加勒比久久综合| 乱熟女高潮一区二区在线| 亚洲欧美成人| 久久久久亚洲av无码麻豆| 26uuu国产日韩综合| 日韩成人短视频| 日本二三区不卡| xxxwww在线观看| 怡红院精品视频| 俄罗斯一级**毛片在线播放| 国产精品观看在线亚洲人成网| 欧美.com| 午夜欧美性电影| 中日韩男男gay无套| 亚洲理论中文字幕| 久久久久久久一区| 久久综合色综合| 欧美日本视频在线| 毛片免费在线播放| 国语自产精品视频在线看抢先版图片 | 好操啊在线观看免费视频| 欧美在线播放视频| av综合网页| 国产又爽又黄ai换脸| 久久亚洲一区| 三级黄色片网站| 亚洲sss视频在线视频| 一级成人免费视频| 亚洲色图第一页| 蜜桃麻豆av在线| 成人免费看片网址| 欧美一区亚洲| 污网站在线免费| 中文字幕第一区| 国产一级片免费视频| 亚洲精品国产综合久久| 美女网站视频在线| 91亚洲永久免费精品| 日韩aaaa| 91最新在线观看| 国产性色一区二区| 国产女主播喷水视频在线观看 | 亚洲欧洲美洲av| 国产精品久久久久久久天堂第1集| 婷婷综合亚洲| 黄色片视频在线| 国产精品欧美久久久久一区二区| 中文字幕在线观看视频免费| 亚洲欧美日韩精品久久亚洲区| 久热在线观看视频| 黄色99视频| 99在线观看免费视频精品观看| 久久久久久久人妻无码中文字幕爆| 有坂深雪av一区二区精品| 国产富婆一级全黄大片| 欧美成人中文字幕| 一区二区网站| 国产在线播放观看| 成a人片亚洲日本久久| 日韩av一区二区在线播放| 亚洲第一福利视频| 乱馆动漫1~6集在线观看| 精品日韩欧美| 久久九九免费| 99国产精品免费| 欧美片网站yy| 亚洲第一图区| 韩日午夜在线资源一区二区 | 黄色国产在线| 国产精品日韩av| 天堂美国久久| 国产chinesehd精品露脸| 亚洲一区二区三区免费视频| 色欲av永久无码精品无码蜜桃| 国产91精品视频在线观看| 奇米狠狠一区二区三区| 777视频在线| 亚洲综合色噜噜狠狠| 亚州男人的天堂| 国产精品视频区| 欧美一区二区三区另类| 亚洲欧美日韩偷拍| 91电影在线观看| 91最新在线视频| 精品无人区一区二区三区竹菊 | 欧美视频第一页| wwwww在线观看免费视频| 亚洲伊人一本大道中文字幕| 亚洲成人原创| 亚洲精品国产熟女久久久| 欧美福利电影网| 瑟瑟视频在线看| 中文字幕日韩一区二区三区不卡 | 精品无码国产污污污免费网站 | 中文字幕亚洲影院| 亚洲成a人在线观看| 777电影在线观看| 国产乱码精品一区二区三区中文| 巨乳诱惑日韩免费av| 男人在线观看视频| 亚洲另类图片色| 国产亚洲精aa在线看| 日日摸日日碰夜夜爽av | 免看一级a毛片一片成人不卡| 亚洲欧美激情四射在线日| 中文成人激情娱乐网| 久久综合九色综合88i| 中文字幕一区二区三区四区不卡 | 日韩一区二区欧美| 麻豆精品少妇| 在线免费看v片| 一本色道亚洲精品aⅴ|