<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      開源!AREX接口自動化回歸測試的全過程

      0
      分享至

      AREX是一款開源的基于真實請求與數據的自動化回歸測試平臺(項目地址:https://github.com/arextest),利用JavaAgent技術與比對技術,通過流量錄制回放能力實現快速有效的回歸測試。同時提供了接口測試、接口比對測試等豐富的自動化測試功能,無需編程能力也可快速上手。



      在使用AREX流量錄制功能時,AREX Java?Agent會記錄生產環境中Java應用的數據流量和請求信息,并將這些信息發送給AREX數據存取服務(Storage Service),由數據存取服務導入Mongodb數據庫中進行存儲。當需要進行回放測試時,AREX調度服務(Schedule Service)將會根據用戶的配置和需求,通過數據存取服務從數據庫中提取被測應用的錄制數據(請求),然后向目標驗證服務發送接口請求。同時,Java Agent會將錄制的外部依賴(外部請求/DB)的響應返回給被測應用,目標服務處理完成請求邏輯后返回響應報文。隨后調度服務會將錄制的響應報文與回放的響應報文進行比對,驗證系統邏輯正確性,并將比對結果推送給分析服務(Report Service),由其生成回放報告,供測試人員檢查。在整個過程中,AREX的緩存服務Redis負責緩存回放過程中的Mock數據和比對結果,以提高比對效率。

      本文以community-test工具為例,從AREX Agent配置到錄制回放、問題定位,完整展示AREX接口自動化回歸測試的全過程。

      community-test(https://github.com/arextest/arex-community-test)是一個由AREX提供的用于測試和驗證AREX系統功能的工具,它是一個Java應用程序,依賴于MySQL和Redis,用于模擬業務服務。



      AREX運行環境

      筆者在應用環境申請了Linux服務器,這是由OPS提供的設備。

      服務器的IP地址是10.5.153.1,擁有128GB內存和32 Core。該服務器可以通過公司辦公網進行訪問,但其他外部環境無法訪問。主要目的是在該服務器上安裝AREX服務和部署community-test的測試環境。

      為了確保服務器能夠訪問公網,需要進行一些設置。在安裝過程中,需要下載AREX的安裝包,并獲取community-test的代碼進行編譯和發布。如果你的服務器可以直接訪問公網,則可以跳過設置代理的步驟。否則,需要設置代理以確保服務器能夠訪問公網。

      在端口方面,沒有限制對外暴露的端口數量。然而,現在OPS對每個服務器做了限制,缺省情況下只允許外部訪問的端口是80和8080,其他端口默認是被block的。

      另外,遠程訪問受限,本次演示是通過跳板機登錄到服務器的。

      通過錄制回放進行回歸測試

      安裝AREX

      遠程登錄10.5.153.1,新建目錄arex。

      cd arex

      git clone https://github.com/arextest/deployments.git



      執行以下命令啟動AREX:

      #讀取當前目錄的docker-compose.yml文件,并以服務的方式啟動

      docker-compose up-d

      #讀取當前目錄的docker-compose-distribute.yml文件,并以服務的方式啟動

      docker-compose-f docker-compose-distribute.yml up-d

      #讀取當前目錄的docker-compose-mongo4.4.21.yml文件,并以服務的方式啟動,因為某些服務器硬件版本的原因,不能啟動5.0的mongodb

      docker-compose-f docker-compose-mongo4.4.21.yml up-d

      啟動后,可以使用docker-compose ps?命令查看各個服務的狀態和配置:



      ·State是各個服務狀態,Up才是正確的,如果是其他狀態,則需要重啟服務或者查看服務的日志,檢查不能啟動的原因。

      ·arex-front就是前端,這里我的端口沒有修改,缺省為8088端口。你可以根據你的環境配置想要的端口,比如80端口。

      ·MongoDB的端口仍然是默認的27017(你也可以使用你的MongoDB工具連接到數據庫),鏈接地址是:10.5.153.1:27017,用戶名為"arex",密碼為"iLoveArex"。請注意,在Docker Compose的配置中,鏈接地址應為:mongodb://arex:iLoveArex@mongodb:27017/arex_storage_db,這是因為在Docker Compose中使用的是服務名進行網絡連接。因此,你可以使用以下地址訪問MongoDB:mongodb://arex:iLoveArex@10.5.153.1:27017/arex_storage_db。

      ·arex-storage的端口是8093,這是需要在agent配置中指定的端口。在我的環境中配置的storage地址是10.5.153.1:8093。

      使用docker-compose images?查看各個服務組件運行的版本:



      AREX的各個組件都是0.2.10,其中`arex-node`服務后續要去掉,而且功能也沒有更新,還是0.2.7版本。

      啟動后,在當前啟動目錄下有兩個目錄。其中`arex-logs`?是存儲各個服務的日志,`arex-data`用于存儲數據。



      啟動后,可以在命令行中查看日志:



      ·docker-compose logs:查看全部的日志

      ·docker-compse logs arex-report-service:查看Report服務的日志

      安裝后訪問AREX前端頁面http://10.5.153.1:8088/,輸入郵箱獲取驗證碼進行登錄,如下圖:



      至此,AREX的安裝結束。

      community-test業務服務安裝

      下載編譯AREX Agent代碼

      git clone https://github.com/arextest/arex-agent-java.git

      cd arex-agent-java

      mvn clean package

      編譯完成:



      檢查當前目錄下的arex-agent-jar目錄,是否存在最新編譯的arex agent jar文件:



      編譯community-test代碼

      拉取代碼:

      git clone https://github.com/arextest/arex-community-test.git



      使用`mvn clean package`編譯項目:



      為了運行方便,將community-test?進行容器化部署:

      FROM tomcat:9.0-jdk8-openjdk

      ARG WAR_FILE=./target/arex-agent-test-0.0.1-SNAPSHOT.war

      ADD$WAR_FILE/usr/local/tomcat/webapps/

      WORKDIR/usr/local/tomcat/conf

      RUN sed-i'N;152a\\t'server.xml

      ADD./arex-agent-0.2.0.jar/usr/local/tomcat/

      ADD./arex-agent-bootstrap-0.2.0.jar/usr/local/tomcat/

      WORKDIR/usr/local/tomcat

      EXPOSE 8080

      CMD["catalina.sh","run"]

      容器化編譯shell如下,僅供參考,相對目錄可能都需要修改:

      cd../arex-community-test

      mvn clean package

      cp../deployments/dockerfile/community.Dockerfile./Dockerfile

      cp../arex-agent-java/arex-agent-jar/arex-agent-0.3.0.jar./arex-agent-0.3.0.jar

      cp../arex-agent-java/arex-agent-jar/arex-agent-bootstrap-0.3.0.jar./arex-agent-bootstrap-0.3.0.jar

      docker build-t arexadmin01/arex-community-test:0.0.1.

      rm-rf./Dockerfile

      rm-rf./arex-agent-0.3.0.jar

      rm-rf./arex-agent-bootstrap-0.3.0.jar

      cd..

      至此,已經成功創建用于測試的程序鏡像。

      SUT應用配置AREX Agent

      以下是運行community-test工具時所使用的原始命令行,并且提供了與數據庫和Redis的連接配置,如下:

      environment:

      -JAVA_TOOL_OPTIONS=-Dspring.datasource.url=jdbc:mysql://cmysql:3306/community?useUnicode=true&characterEncoding=utf-8-Dspring.datasource.username=arex_admin-Dspring.datasource.password=arex_admin_password-Dspring.redis.host=credis-Dspring.redis.port=6379

      增加AREX的配置:

      environment:

      -JAVA_TOOL_OPTIONS='-javaagent:/usr/local/tomcat/arex-agent-0.3.0.jar'-Darex.service.name=community-service-Darex.storage.service.host=10.5.153.1:8093-Darex.enable.debug=true-Dspring.datasource.url=jdbc:mysql://cmysql:3306/community?useUnicode=true&characterEncoding=utf-8-Dspring.datasource.username=arex_admin-Dspring.datasource.password=arex_admin_password-Dspring.redis.host=credis-Dspring.redis.port=6379

      ·'-javaagent:/usr/local/tomcat/arex-agent-0.3.0.jar'這部分就是我們編譯的AREX Agent的JAR文件,該JAR文件將作為Java代理(Java agent)加載到應用程序中。

      ·-Darex.service.name=community-service:這是應用程序的名稱,它將在AREX Replay頁面中顯示。

      ·-Darex.storage.service.host=10.5.153.1:8093:這是AREX Storage服務的地址,指定為10.5.153.1:8093。

      ·-Darex.enable.debug=true:這是一個配置選項,如果設置為true,則將以調試模式運行,即會錄制所有的流量。在生產環境中,建議將其設置為false。

      啟動arex-community-test?服務,隨后在AREX前端頁面查看應用注冊情況:



      可以看到,被測試應用community-test?已經成功運行,其訪問地址為http://10.5.153.1:8080/。

      回歸測試

      生產環境發布運行

      現在,arex-agent已經成功地啟動并在應用程序中運行,在錄制過程中,用戶無需進行任何特殊的操作或干預,可以按照常規方式對外提供服務或手動訪問應用程序。

      在本文的演示中,筆者使用Collection中的批量執行功能對community-service?進行訪問,訪問地址為http://10.5.153.1:8080/。

      在訪問過程中,arex-agent會自動開始錄制并將錄制的AREX用例存儲起來,無需用戶手動進行錄制操作。



      業務代碼更新

      當我們的業務需求實現并提交以后,新版本要編譯測試,則執行以下步驟:

      1.拉取新代碼

      2.編譯代碼并打包

      3.重點:保持AREX Agent的配置不變,特別是應用名,AREX是利用應用名來識別應用和管理用例的。因此在新版本的編譯和測試過程中,應保持與之前版本相同的應用名配置。

      4.發布代碼到測試環境:將編譯和打包后的應用程序代碼發布到測試環境中,以便進行進一步的測試和驗證。

      在測試環境進行回歸測試

      進入AREX Replay頁面,選擇community-service?服務,在右邊回放界面上點擊"Start Replay"按鈕,輸入回放的地址(我用的是同一個環境,所以地址還是http://10.5.153.1:8080/),開始回放:



      測試問題定位

      如果測試比對全部執行且沒有任何差異,則測試通過:



      如果測試過程中發現問題,如下所示:



      點擊存在問題的回放報告,展示所有的接口及其回歸測試情況,如下圖:



      點擊DiffScenes(New),將以總體統計視圖顯示差異點所在。value diff,就是新老版本比對的差異在值差異。



      繼續點擊差異點,查看差異細節,如下圖。左邊是benchmark,即生產錄制的值;右邊是Test,即測試環境回放過程中返回的值,兩者不一致即返回差異信息。



      根據發現的差異,找到代碼中存在問題的點:

      ·確認問題,將問題修復,重復"業務代碼更新"的章節,修改→測試發布→比對。

      ·確認非問題,則將此節點設置為過濾節點,下次回放跳過該節點比對。

      ·持續此操作,將所有的差異點都確認修復或者差異在預期范圍內。

      ·確認修復和發布版本。

      總結

      本文主要描述的是

      1.AREX環境搭建

      2.AREX Agent編譯獲取

      3.被測試服務加上AREX Agent的配置

      4.被測試服務在生產環境常規運行,無須干預,逐步建立AREX錄制回放用例

      5.被測試服務,因需求而代碼修改

      6.被測試服務打包,加上AREX agent的配置,并發布測試環境,

      7.在AREX Replay界面輸入測試環境地址,進行回放

      8.檢查回放結果

      1)回放差異在預期內,過濾掉差異節點

      2)回放差異非預期內,修復BUG,重復6到8的操作

      9.直至回歸測試沒有非預期內差異為止,測試通過,被測試應用發布生產環境

      最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      去越南旅游的華人感慨:不要信媒體吹牛,越南相當于我國三線城市

      去越南旅游的華人感慨:不要信媒體吹牛,越南相當于我國三線城市

      南宗歷史
      2026-05-14 10:47:53
      重慶“網紅佛頭”雕刻者找到了!74歲石匠師傅:瀘定橋紀念碑文、“小蘿卜頭”雕像均出自他手

      重慶“網紅佛頭”雕刻者找到了!74歲石匠師傅:瀘定橋紀念碑文、“小蘿卜頭”雕像均出自他手

      封面新聞
      2026-05-14 19:04:40
      13年后雷軍合影馬斯克,全網沸騰

      13年后雷軍合影馬斯克,全網沸騰

      新浪財經
      2026-05-15 00:49:53
      特朗普精力充沛,養生秘訣是吃大量阿司匹林,日常三餐吃麥當勞

      特朗普精力充沛,養生秘訣是吃大量阿司匹林,日常三餐吃麥當勞

      南權先生
      2026-04-04 05:05:03
      11年前優衣庫男女主現狀曝光,他們還在一起生了兩個孩子

      11年前優衣庫男女主現狀曝光,他們還在一起生了兩個孩子

      半糖甜而不膩
      2026-04-06 12:09:15
      川普來了也得提一杯,這曲”懂王破陣曲“絕了!

      川普來了也得提一杯,這曲”懂王破陣曲“絕了!

      談芯說科技
      2026-05-14 23:23:31
      南審研究生案后續,同學再曝惡行,比偷拍更惡心,落此下場不冤!

      南審研究生案后續,同學再曝惡行,比偷拍更惡心,落此下場不冤!

      奇思妙想草葉君
      2026-05-14 13:32:44
      83年嚴打,那批被遣送到大西北的重刑犯,他們的命運最終怎樣了?

      83年嚴打,那批被遣送到大西北的重刑犯,他們的命運最終怎樣了?

      浩渺青史
      2026-05-15 01:42:41
      中美元首會晤,世界吃下一顆“定心丸”

      中美元首會晤,世界吃下一顆“定心丸”

      環球時報國際
      2026-05-14 13:37:25
      心理學:臍帶繞頸的孩子長大后,比別人更膽小更容易感到恐懼

      心理學:臍帶繞頸的孩子長大后,比別人更膽小更容易感到恐懼

      九霄心理
      2025-04-21 17:25:44
      價格大跳水,跌至“谷底”!廣深出發最高降76%!酒店房價也腰斬,網友:好心動

      價格大跳水,跌至“谷底”!廣深出發最高降76%!酒店房價也腰斬,網友:好心動

      南方都市報
      2026-05-14 20:56:16
      “90后夫妻同患罕見病癱瘓”引關注 對話丈夫:拍視頻帶貨自救,掙錢補貼后續治療費

      “90后夫妻同患罕見病癱瘓”引關注 對話丈夫:拍視頻帶貨自救,掙錢補貼后續治療費

      紅星新聞
      2026-05-14 21:02:57
      罕見啊!湖南一地電線桿上驚現紅紙辭帖,網友:多年不見又現江湖

      罕見啊!湖南一地電線桿上驚現紅紙辭帖,網友:多年不見又現江湖

      火山詩話
      2026-05-14 13:46:29
      突破4000億!蘇州誕生史上最高市值上市公司,背后父子身價1個月暴漲近千億

      突破4000億!蘇州誕生史上最高市值上市公司,背后父子身價1個月暴漲近千億

      創客公社-江蘇第一創投媒體
      2026-05-14 20:08:41
      史無前例!大陸官宣統一后安排,島內學者直呼:臺軍應滅“臺獨”

      史無前例!大陸官宣統一后安排,島內學者直呼:臺軍應滅“臺獨”

      小莜讀史
      2026-05-14 13:54:16
      男子買榴蓮,11480錯輸成114804,多掏10萬元!商家稱早已退款,錢卻退到銷售賬上!律師解讀→

      男子買榴蓮,11480錯輸成114804,多掏10萬元!商家稱早已退款,錢卻退到銷售賬上!律師解讀→

      大風新聞
      2026-05-14 17:44:04
      周總理只是讓他去經商,為黨賺取經費,他卻給組織賺回個商業帝國

      周總理只是讓他去經商,為黨賺取經費,他卻給組織賺回個商業帝國

      文史達觀
      2026-04-18 09:29:56
      上海樓市爆了!

      上海樓市爆了!

      地產觀點
      2026-05-14 18:00:07
      看見特朗普抵達中國,李在明長出一口氣,韓國終于敢說話了!

      看見特朗普抵達中國,李在明長出一口氣,韓國終于敢說話了!

      顧史
      2026-05-15 01:58:23
      何炅工作室回應:沒通知我們啊

      何炅工作室回應:沒通知我們啊

      南方都市報
      2026-05-14 17:49:25
      2026-05-15 03:07:00
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1570文章數 13268關注度
      往期回顧 全部

      科技要聞

      馬斯克說會談很順利 黃仁勛點贊 庫克比耶

      頭條要聞

      馬斯克幼子裝扮“火”了 衣服包包都是中國造

      頭條要聞

      馬斯克幼子裝扮“火”了 衣服包包都是中國造

      體育要聞

      爭議抽象天王山,和季后賽最穩定中鋒

      娛樂要聞

      何九華官宣當爸!全程不提孩子媽

      財經要聞

      李強會見美國工商界代表

      汽車要聞

      雙零重力座椅/AI智能體/調光天幕 啟境GT7內飾發布

      態度原創

      時尚
      藝術
      本地
      游戲
      家居

      白色上衣+彩色下裝:今年夏天最火搭配,時髦又減齡!

      藝術要聞

      帕特里克鏡頭下的戴安娜:光影與情感的極致呈現

      本地新聞

      用蘇繡的方式,打開江西婺源

      《極限競速地平線6》畫面對比 最佳游玩平臺在PC

      家居要聞

      精神奢享 對話塔尖需求

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 国产成人精品亚洲77美色 | 精品久久无码中文字幕| 国产精品爽爽v在线观看无码| 在线精品亚洲第一区焦香| 国产成人福利在线| 日本道之久久综合久久爱| ,丰满少妇A级毛片| 高清欧美精品一区二区三区| 99久久激情国产精品| av一区二区三| 人妻少妇一区二区三区| 日韩一区二区三区av在线| 午夜黄色影院| 超碰人人草| 亚洲三级黄色大片| 99色色网| 99精品视频在线观看免费播放| 1区2区3区4区产品不卡码网站 | 日日碰狠狠躁久久躁96avv | 粉嫩av蜜臀一区二区三区| 91资源总站| 欧美特黄一免在线观看| 久久夜色精品国产网站| 人妻精品丝袜一区二区无码AV| 中文字幕人妻在线中文乱码怎么解决| 福利社午夜| 亚洲自拍另类欧美综合| 五月天成人小说| 亚洲国产精品一区二区久久| 亚洲乱亚洲乱妇22p中文影视| 亚洲欧美精品午睡沙发| 天天天天噜在线视频| 人妻av一区二区三区av免费 | 国产乱码日产乱码精品精| 91丨九色丨人妻丨白浆| 免费高清一区二区| 日韩欧美第一区二区三区| 久久大蕉香蕉免费| 偷拍做爰视频大全| 97香蕉碰碰人妻国产欧美| 五月婷婷俺也去开心|