背景
在2019的MTSC,阿里開源了jvm-sandbox-repeater——可對java服務進行錄制回放的工具。
jvm-sandbox-repeater是提供錄制和回放的功能的底層組件,真正要在實際項目中應用起來,還必須有相關(guān)的配套服務配合才行。
于是乎我把目光,放到了阿里更早之前推出公測的錄制回放平臺——Doom。
Doom簡介
在阿里云平臺中,Doom被稱為雙引擎自動回歸服務,屬于測試管理中的一個服務。
關(guān)于Doom可以直接點擊官方文檔之平臺介紹進行了解,因為官方介紹文檔寫的非常好,從適用場景、原理、使用常見問題以及解決方案都有給出,所以這里不做贅述。
接下來,我們直接進入正題,按照官方提供的雙引擎接入使用文檔進行接入。后面的接入步驟,同時打開官方雙引擎接入使用文檔,配合食用更佳。
快速入門之前
在doom平臺上開始進行服務接入之前,需要做幾個步驟。
- 注冊一個阿里云賬號
- 訪問【云效】:https://my.rdc.aliyun.com/,并按照指引創(chuàng)建企業(yè)/加入企業(yè)。
- 在阿里云購買OSS服務,并創(chuàng)建Bucket以及配置好Access Key。(如已有OSS服務,可直接使用已有的OSS。不會操作的話按照官方的OSS說明文檔操作即可)
- 訪問【Doom平臺】:https://doom.rdc.aliyun.com/,按照雙引擎接入使用文檔【1.2 數(shù)據(jù)存儲設置】,進行OSS配置。
- 在【Doom平臺】:https://doom.rdc.aliyun.com/上,按照雙引擎接入使用文檔【2. 應用接入申請】進行應用接入申請操作。這里的應用接入分云效應用和非云效應用兩種,無論是否是云效上的平臺,是否是部署在阿里云服務器上,都可以進行申請接入。由于我沒有使用過云效,所以我申請的是非云效應用接入申請。申請的審批時效較長,這個過程需要耐心等待一下。
注意:如果3個工作日都沒有收到審批結(jié)果,可以發(fā)郵件到mufeng@aibaba-inc.com進行咨詢。
快速入門
應用申請通過后,按照雙引擎接入使用文檔第3章節(jié)以及平臺中的引導進行接入,官方文檔中的步驟截圖和說明都比較清晰,這里不做贅述。
補充說明
以下主要針對官方說明一些有疑問的地方,經(jīng)過和負責Doom的技術(shù)同學確認后,給大家補充說明(未完待續(xù))。
- 在【3.2 設置IP】章節(jié)中的IP,填寫應用服務器的網(wǎng)卡IP即可, 即使用
ifconfig
查看到的本機IP。不需要填寫公網(wǎng)IP。這個IP主要是用來區(qū)分服務器的分組和類型(錄制/回放)。 - 應用服務器需要可訪問公網(wǎng),同時應用服務可被公網(wǎng)訪問。(是否需要開啟特定端口供公網(wǎng)訪問,待確定)
接入過程中遇到的問題
按照接入文檔完成了doom平臺中的配置之后,在服務啟動到錄制還是遇到了一些問題。至今還沒有完成一次錄制回放。
以下接入嘗試,Doom客戶端的安裝方式都是采取免變更模式
,詳情可參看雙引擎接入使用文檔【3.7 安裝doom客戶端】。
1 平臺上顯示doom客戶端連上了,但錄制沒有成功
最初在公司的電腦進行接入嘗試。
系統(tǒng)信息:Mac OS 10.14.3 (18D109)
java版本信息:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
網(wǎng)絡環(huán)境:可訪問外網(wǎng),但外網(wǎng)不可訪問本機服務
執(zhí)行doom客戶端安裝腳本attach.sh
成功。
由于沒有配置流量入口,按照文檔中的說明預期應該會錄制所有的流量。
但實際上當我對目標應用進行請求后,在用例中心卻沒有看到任何錄制記錄。
于是需要通過日志去定位問題。客戶端日志地址在使用默認配置的情況下是在/home/{username}/{接入應用名}/logs/doom.log
,而在mac os下則是/Users/{username}/{接入應用名}/logs/doom.log
。從下圖日志上看會看到客戶端不停地在建立連接,又失敗的情況。
從這里的報錯看不出更進一步的原因,考慮到公司電腦無法被外網(wǎng)訪問,只能推測是網(wǎng)絡原因,具體還有需要咨詢一下Doom的同學。
2 doom客戶端安裝腳本執(zhí)行完成,doom平臺顯示沒連上客戶端
考慮到是之前由于網(wǎng)絡原因,沒有錄制成功,于是第二次我使用一臺vps來進行應用部署。
系統(tǒng)版本信息:
Linux vultr.guest 4.4.0-154-generic #181-Ubuntu SMP Tue Jun 25 05:29:03 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
java版本信息:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
網(wǎng)絡環(huán)境:可訪問外網(wǎng),但外網(wǎng)可訪問本機服務8080端口
在ubuntu服務器上遇到的問題比較多。遇到的第一個問題就是
2.1 doom客戶端安裝腳本attach.sh
的兼容問題
在已配置JAVA_HOME的情況下,會出現(xiàn)attach腳本執(zhí)行失敗的情況。
為了快速解決,我注釋掉了attach.sh
中修改JAVA_HOME
的那段邏輯。從而成功啟動了。
2.2 attach.sh執(zhí)行成功,平臺顯示客戶端連接異常,且應用服務器無日志生成
這時候就需要借助日志來進行排查,結(jié)果發(fā)現(xiàn)日志沒有生成
查看過確定ip沒有填寫錯誤。如下圖填寫的是網(wǎng)卡的IP地址。
由于沒有日志,無法進一步定位問題了。