日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

利用kite对视频流应用进行压力测试

發(fā)布時間:2023/12/19 综合教程 48 生活家
生活随笔 收集整理的這篇文章主要介紹了 利用kite对视频流应用进行压力测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 前言

工作中使用到了視頻流服務(wù),在前期的選型中,苦于無法測試視頻服務(wù)的穩(wěn)定性,擴展性,經(jīng)過一番嘗試終于測試成功,特此記錄下來。

2. 使用工具

OPENVIDU:視頻服務(wù)平臺

FFMPEG:多媒體視頻處理工具,用于切割視頻流,音頻流

KITE:WEBRTC測試引擎

ZABBIX:服務(wù)器監(jiān)控軟件

INTELLIJIDEA:JAVA開發(fā)工具,用于編寫自己的測試用例

3. 使用

前期的安裝工作就不在此贅述了,主要梳理一下我遇到的幾個坑

1.openvidu的安裝中,最好使用Ubuntu16.04,Ubuntu Bionic18.04會存在一些限制,因為Ubuntu Bionic18.04不支持使用OpenCV過濾器.這樣就無法使用音視頻過濾器。

2.視頻流使用最好用y4m格式,音頻流最好使用wav格式,因為后續(xù)利用到Google瀏覽器的handless模式,該模式支持這2中格式較好。選取好對應(yīng)分辨率的視頻原文件后,利用ffmpeg切割出相應(yīng)格式的流媒體文件。命令是:


值得注意的是y4m格式都比較大,像我這個源視頻才32MB,但是y4m格式是8.19G,需要預(yù)留出足夠的空間。

3.Kite的安裝簡單,但在構(gòu)建部署,kite會下載google瀏覽器的驅(qū)動文件,由于國內(nèi)的環(huán)境限制,要么FQ下載,要么事先下載好再放到如下位置:

4. 需要統(tǒng)一測試瀏覽器的版本和相對應(yīng)的驅(qū)動版本,不一致的情況下是無法調(diào)用成功的。地址見:http://chromedriver.storage.googleapis.com/index.html

5. 測試用例的基本邏輯是利用selenium模擬人操作被測應(yīng)用,用準(zhǔn)備好的視頻流,音頻流充當(dāng)應(yīng)用的視頻音頻來源,接著使用ZABBIX來監(jiān)控服務(wù)器資源的占用,測試出服務(wù)器極限。

5.1 測試用例配置文件分析:

Grids:指定selenium grids的地址

tests:測例列表主要關(guān)注的是

tupleSize: 瀏覽器的實例數(shù)量,數(shù)量設(shè)置10時,代表測試會開啟10個瀏覽器實例,selenium默認(rèn)開啟5個實例,可通過修改啟動項(localGridchromestartNode.bat)改變。

testImpl: 測例入口文件

payload: 自定義鍵值對數(shù)據(jù),可以傳遞到測例中供測試使用

client: 測試瀏覽器的配置,在這里就可指定上述的視頻流,音頻流位置,也可以指定使用的瀏覽器(browserName),瀏覽器模式(headless)等配置

5.2 Java測例運行時的調(diào)用棧

Engine.java main

Engine.java runInterop

TestRunThread.java call

MatrixRunner.java run

TestManager.java call

KiteBaseTest.java execute

KiteBaseTest.java testInParallel

TestRunner.java call

TestStep.java processTestStep

TestStep.java execute

TestStep.java step

而我們編寫的測例入口就是實現(xiàn)KiteBaseTest中的payloadHandling方法和populateTestSteps方法,前者可以解析config中payload中內(nèi)容,后者則可以添加我們實現(xiàn)的Step子類實例

比如下面截圖中就有實現(xiàn)的步驟,可根據(jù)具體的軟件來編寫具體的步驟:

比如第一個打開頁面

繼承TestStep,實現(xiàn)step方法,通過webDriver對象打開瀏覽器輸入并訪問測試地址,并等待頁面元素的出現(xiàn)。

其他的步驟就不一一說明了,總的來說就是在step里面通過操作被測軟件的頁面元素來模擬人的操作(點擊,輸入字符等),用代碼來實現(xiàn)功能的測試流程。

5.3 由于使用的selenium grids,selenium框架提供了docker鏡像,可方便的在云上使用。

4. 結(jié)束語

關(guān)于視頻服務(wù)壓力測試,這次的分享就到這里咯。還請各位觀眾老爺多多交流指正哦。

總結(jié)

以上是生活随笔為你收集整理的利用kite对视频流应用进行压力测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。