usb接口定义引脚说明_PerfDogService使用说明
令牌申請教程:https://bbs.perfdog.qq.com/article-detail.html?id=55安裝包下載:https://perfdog.qq.com/sdk一、 概述
PerfDog性能狗服務(wù)組件,用戶可基于service組件二次開發(fā)自己PerfDog性能工具或自動化服務(wù)。本文檔主要對PerfDogService提供的接口進(jìn)行說明,并提供可運(yùn)行的DEMO供有訴求的同學(xué)快速上手。二、 快速指引
1、 本地解壓PerfDogService安裝包
PerfDogService.exe:Service啟動文件,一般不用手工啟動,自動化腳本會自動啟動此程序。
perfdog.proto: grpc接口和protobuf結(jié)構(gòu)體的定義文件
demo/python: python3的demo,依賴庫grpcio和protobuf
demo/java: java的demo,依賴庫grpc-netty-shaded, grpc-protobuf, grpc-stub
2、 快速運(yùn)行Demo(以demo/python為例)
1) 安裝Python3環(huán)境
2) 安裝demo依賴庫grpcio和protobuf,建議使用pip安裝
3) 打開demo/Python目錄
4) 打開目錄中的demo.py文件,修改輸入?yún)?shù)
5) 打開命令窗口,運(yùn)行demo.py文件
6) Demo成功運(yùn)行,查看輸出結(jié)果
三、 整體架構(gòu)
產(chǎn)品組件
整體框架
四、 工作流程
PerfDogService支持多臺設(shè)備同時測試。工作流程如下圖所示,具體使用方法可以參考Demo
五、 方法列表
loginWithToken
用途
用戶登錄接口
定義rpc loginWithToken (Token) returns (UserInfo) {}
參數(shù)
Token: 登錄令牌
返回值
UserInfo: 登錄用戶的帳號信息
備注
如果需要令牌,需要在官網(wǎng)申請令牌
startDeviceMonitor
用途
啟動設(shè)備監(jiān)聽器,使用此接口可以收到移動設(shè)備到PC的連接和斷開事件
定義rpc startDeviceMonitor (Empty) returns (stream DeviceEvent) {}
參數(shù)
Empty: gprc占位符參數(shù),無實際意義
返回值
stream DeviceEvent: 設(shè)備連接、斷開事件流,可單獨(dú)啟動線程從返回值獲取相應(yīng)的事件
前置依賴
用戶已登錄
initDevice
用途
初始化設(shè)備
定義rpc initDevice (Device) returns (Empty) {}
參數(shù)
Device: 用于標(biāo)識設(shè)備,可以從DeviceEvent中取得。
返回值
Empty: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
getDeviceInfo
用途
獲取設(shè)備信息
定義rpc getDeviceInfo (Device) returns (DeviceInfo) {}
參數(shù)
Device: 用于標(biāo)識設(shè)備
返回值
DeviceInfo: 設(shè)備基本信息
前置依賴
用戶已登錄
設(shè)備已初始化
getDeviceStatus
用途
獲取設(shè)備狀態(tài)
定義rpc getDeviceStatus (Device) returns (DeviceStatus) {}
參數(shù)
Device:設(shè)備標(biāo)識結(jié)構(gòu)體
返回值
DeviceStatus: 設(shè)備狀態(tài)信息
前置依賴
用戶已登錄
getAppList
用途
獲取設(shè)備APP列表
定義rpc getAppList (Device) returns (AppList) {}
參數(shù)
Device:設(shè)備標(biāo)識結(jié)構(gòu)體
返回值
AppList: 設(shè)備上安裝的APP的列表
前置依賴
用戶已登錄
設(shè)備已初始化
enablePerfDataType
用途
啟用測試數(shù)據(jù)指標(biāo)
定義rpc enablePerfDataType(EnablePerfDataTypeReq) returns (Empty) {}
參數(shù)
EnablePerfDataTypeReq: 需要開啟的類型,參見pb定義文件PerfDataTypem枚舉類型說明
返回值
Empty: grpc參數(shù)占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
disablePerfDataType
用途
禁用測試數(shù)據(jù)指標(biāo)
定義rpc disablePerfDataType (DisablePerfDataTypeReq) returns (Empty) {}
參數(shù)
DisablePerfDataTypeReq: 需要關(guān)閉的數(shù)據(jù)類型
返回值
Empty: grpc參數(shù)占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
getPerfDataType
用途
獲取已開啟數(shù)據(jù)類型的列表
定義 rpc getPerfDataType (Device) returns (PerfDataTypeRet) {}
參數(shù)
Device:設(shè)備標(biāo)識結(jié)構(gòu)體
返回值
PerfDataTypeRet: 開啟數(shù)據(jù)類型的列表,參見附件協(xié)議文件
前置依賴
用戶已登錄
設(shè)備已初始化
getAvailableDataType
用途
獲取設(shè)備支持的測試數(shù)據(jù)指標(biāo)類型
定義rpc getAvailableDataType (Device) returns (PerfDataTypeRet) {}
參數(shù)
Device:設(shè)備標(biāo)識結(jié)構(gòu)體
返回值
PerfDataTypeRet: 可以開啟數(shù)據(jù)類型的列表
前置依賴
用戶已登錄
設(shè)備已初始化
setScreenShotInterval
用途
設(shè)置截屏?xí)r間間隔
定義 rpc setScreenShotInterval (ScreenShotInterval) returns (Empty) {}
參數(shù)
ScreenShotInterval: 設(shè)置設(shè)備測試過程中截屏?xí)r間間隔,單位秒
返回值
Empty: grpc參數(shù)占位符
前置依賴
用戶已登錄
startTestApp
用途
開始App測試
定義rpc startTestApp(StartTestAppReq) returns (StartTestRet) {}
參數(shù)
StartTestAppReq: 填寫需要配置測試App的相關(guān)信息
返回值
StartTestRet: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
備注
Android默認(rèn)開啟的數(shù)據(jù)類型有FPS、CPU_USAGE、MEMORY、CPU_TEMPERATURE、NETWORK_USAGE、FRAME_TIME和BATTERY(wifi模式);
iOS默認(rèn)開啟的數(shù)據(jù)類型有FPS、CPU_USAGE、MEMORY、IOS_GPU_USAGE、NETWORK_USAGE、CTX_SWITCH、FRAME_TIME(usb模式)和BATTERY(wifi模式);
如果需要開啟或者關(guān)閉其他數(shù)據(jù)類型,請使用enablePerfDataType和disablePerfDataType接口。
startTestSysProcess
用途
開始系統(tǒng)進(jìn)程測試
定義rpc startTestSysProcess (StartTestSysProcessReq) returns (StartTestRet) {}
參數(shù)
StartTestSysProcessReq: 設(shè)置開始測試的設(shè)備和系統(tǒng)進(jìn)程
返回值
StartTestRet: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
備注
數(shù)據(jù)類型方面規(guī)則與startTestApp相同
openPerfDataStream
用途
打開實時測試指標(biāo)流,可以用來獲取實時測試指標(biāo)數(shù)據(jù)
定義rpc openPerfDataStream (OpenPerfDataStreamReq) returns (stream PerfData) {}
參數(shù)
OpenPerfDataStreamReq: 需要指定設(shè)備,會獲取指定設(shè)備測試指標(biāo)數(shù)據(jù)流
返回值
stream PerfData: 流式返回性能數(shù)據(jù)
前置依賴
用戶已登錄
設(shè)備已初始化
設(shè)備已開始測試
stopTest
用途
結(jié)束測試
定義rpc stopTest (StopTestReq) returns (Empty) {}
參數(shù)
StopTestReq: 需要指定停止測試設(shè)備,perfdog支持同時測試多臺設(shè)備
返回值
Empty: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
設(shè)備已開始測試
setLabel
用途
測試過程中添加標(biāo)簽,標(biāo)簽起始時間為當(dāng)前時間,直到有下一個標(biāo)簽,都屬于新添加標(biāo)簽說明的范圍
定義rpc setLabel (SetLabelReq) returns (Empty) {}
參數(shù)
SetLabelReq: 需要填寫的包括設(shè)備信息和標(biāo)簽名字
返回值
Empty: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
設(shè)備已開始測試
updateLabel
用途
修改label的名字
定義rpc updateLabel (UpdateLabelReq) returns (Empty) {}
參數(shù)
UpdateLabelReq: 更新標(biāo)簽請求,需要填寫設(shè)備信息、標(biāo)簽起始時間(代表標(biāo)簽)、新標(biāo)簽信息
返回值
Empty: grpc參數(shù)占位符,無實際意義
前置依賴
用戶已登錄
設(shè)備已初始化
設(shè)備已開始測試
addNote
用途
添加標(biāo)注
定義rpc addNote (AddNoteReq) returns (Empty) {}
參數(shù)
AddNoteReq: 添加標(biāo)注請求,需要填寫設(shè)備信息、標(biāo)注的時間點(diǎn)和標(biāo)注內(nèi)容
返回值
Empty: grpc參數(shù)占位符,無實際意義
前置依賴
用戶已登錄
removeNote
用途
刪除批注
定義rpc removeNote (RemoveNoteReq) returns (Empty) {}
參數(shù)
RemoveNoteReq: 刪除標(biāo)注請求,需要填寫設(shè)備信息、標(biāo)注的時間位置
返回值
Empty: grpc參數(shù)占位符
前置依賴
用戶已登錄
setGlobalDataUploadServer
用途
設(shè)置第三方數(shù)據(jù)上傳服務(wù),當(dāng)保存數(shù)據(jù)選擇上了上傳時,如果設(shè)置了第三方數(shù)據(jù)服務(wù),將不會上傳到官方的云服務(wù),而是將數(shù)據(jù)上傳此處設(shè)置的數(shù)據(jù)服務(wù)。
定義rpc setGlobalDataUploadServer (SetDataUploadServerReq) returns (SetDataUploadServerRsp) {}
參數(shù)
SetDataUploadServerReq: 設(shè)置第三方數(shù)據(jù)服務(wù)請求,需要設(shè)置上傳服務(wù)url地址,和需要上傳的格式,格式支持json和pb
返回值
SetDataUploadServerRsp: grpc返回值占位符,無實際意義
前置依賴
用戶已登錄
saveData
用途
保存測試數(shù)據(jù)
定義rpc saveData (SaveDataReq) returns (SaveDataRsp) {}
參數(shù)
SaveDataReq: 保存測試數(shù)據(jù)請求,需要填寫的有設(shè)備信息、數(shù)據(jù)開始時間、數(shù)據(jù)結(jié)束時間、是否上傳到數(shù)據(jù)服務(wù)(官方云存儲或者第三方數(shù)據(jù)服務(wù))、是否保存到文件,以及選擇到文件時保存的路徑和格式
返回值
SaveDataRsp: 保存文件結(jié)果,包括上傳結(jié)果和導(dǎo)出到文件結(jié)果
前置依賴
用戶已登錄
getDeviceCacheData
用途
獲取設(shè)備的緩存數(shù)據(jù),數(shù)據(jù)流式返回
定義rpc getDeviceCacheData (GetDeviceCacheDataReq) returns(stream CachePerfData) {}
參數(shù)
GetDeviceCacheDataReq: 拉取數(shù)據(jù)請求,需要填寫設(shè)備信息字段
返回值
stream CachePerfData: 流式返回緩存性能數(shù)據(jù),參見CachePerfData結(jié)構(gòu)定義
前置依賴
用戶已登錄
備注
適用于測試過程中設(shè)備斷開連接的情況,也可用于測試過程中或結(jié)束測試后按條拉取數(shù)據(jù),緩存的性能數(shù)據(jù)會在開始新一次測試時清空
getDeviceCacheDataPacked
用途
獲取設(shè)備的緩存數(shù)據(jù), 指標(biāo)數(shù)據(jù)會打包返回
定義rpc getDeviceCacheDataPacked (GetDeviceCacheDataPackedReq) returns (stream CachePerfDataPacked) {}
參數(shù)
GetDeviceCacheDataPackedReq: 拉取緩存數(shù)據(jù)請求,需要提供設(shè)備信息、以及返回數(shù)據(jù)格式,返回格式支持json和pb格式
返回值
stream CachePerfDataPacked: 流式返回設(shè)備緩存的測試數(shù)據(jù),有 2 + n次的返回,第一次返回測試指標(biāo)數(shù)據(jù),第二次返回測試應(yīng)用圖標(biāo),后面n次返回測試過程中生成的截圖,如果有的話。
前置依賴
用戶已登錄
備注
適用于測試過程中設(shè)備斷開連接的情況,也可用于測試過程中或結(jié)束測試后拉取打包好的全部數(shù)據(jù),緩存的性能數(shù)據(jù)會在開始新一次測試時清空
getAppRunningProcess
用途
獲取設(shè)備上app正在運(yùn)行的進(jìn)程列表
定義rpc getAppRunningProcess (GetAppRunningProcessReq) returns (GetAppRunningProcessRet) {}
參數(shù)
GetAppRunningProcessReq: 拉取進(jìn)程列表請求,需要填寫設(shè)備信息和app信息
返回值
GetAppRunningProcessRet: 進(jìn)程列表
前置依賴
用戶已登錄
設(shè)備已初始化
getAppWindowMap
用途
獲取設(shè)備上app每個進(jìn)程對應(yīng)的Activity和SurfaceView,僅適用于Android設(shè)備
定義rpc getAppWindowsMap (GetAppWindowsMapReq) returns (GetAppWindowsMapRet) {}
參數(shù)
GetAppWindowMapReq: 獲取app進(jìn)程對應(yīng)的Activity和SurfaceView請求,需要填寫設(shè)備信息和app信息
返回值
GetAppRunningProcessRet: 返回的數(shù)據(jù)可以理解為一個map,key值為pid,value值為此pid所涉及的Activity和SurfaceView列表
前置依賴
用戶已登錄
設(shè)備已初始化
getRunningSysProcess
用途
獲取設(shè)備系統(tǒng)進(jìn)程列表
定義 rpc getRunningSysProcess (Device) returns (GetRunningSysProcessRet) {}
參數(shù)
Device: 需要獲取系統(tǒng)進(jìn)程列表的設(shè)備
返回值
GetRunningSysProcessRet: 進(jìn)程列表
前置依賴
用戶已登錄
設(shè)備已初始化
updateAppInfo
用途
刷新app的信息
定義rpc updateAppInfo (UpdateAppInfoReq) returns (UpdateAppInfoRet) {}
參數(shù)
UpdateAppInfoReq: 更新App請求,需要填寫設(shè)備信息和app信息
返回值
UpdateAppInfoRet: 返回最新的app信息
前置依賴
用戶已登錄
設(shè)備已初始化
備注
一般用于開始測試前更新app信息,防止開始測試前app被卸載或者升級等意外情況
createTask
用途
創(chuàng)建任務(wù),用于歸類上傳測試數(shù)據(jù)。
定義rpc createTask (CreateTaskReq) returns (CreateTaskRsp) {}
參數(shù)
CreateTaskReq: 創(chuàng)建Task請求,需要task名稱,不能超過50個字符
返回值
CreateTaskRsp: 返回新創(chuàng)建task Id
前置依賴
用戶已登錄
archiveCaseToTask
用途
將上傳官方云存儲case歸檔到task
定義rpc archiveCaseToTask (ArchiveCaseToTaskReq) returns (ArchiveCaseToTaskRsp) {}
參數(shù)
ArchiveCaseToTaskReq: 歸檔請求,需要填寫任務(wù)Id和Case ID
返回值
ArchiveCaseToTaskRsp: 返回值占位符,無實際意義
前置依賴
用戶已登錄
shareCase
用途
分享上傳到官方云儲存case數(shù)據(jù)
定義rpc shareCase (ShareCaseReq) returns (ShareCaseRsp) {}
參數(shù)
ShareCaseReq: 分享的case id和分享有效時間(單位分鐘,0代表永不過期)
返回值
ShareCaseRsp: 返回分享后的查看case 鏈接和查看密碼
前置依賴
用戶已登錄
killServer
用途
停止PerfDogService
定義rpc killServer (Empty) returns (Empty) {}
參數(shù)
Empty: gRPC參數(shù)占位符,無實際意義
返回值
Empty: gRPC返回值占位符,無實際意義
性能測試技術(shù)交流群:720150565
查看PerfDog詳情:https://perfdog.qq.com/?ADTAG=media.dev_website
總結(jié)
以上是生活随笔為你收集整理的usb接口定义引脚说明_PerfDogService使用说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷鸟创新与理想达成合作,将XR带入智能座
- 下一篇: 个人博客前端模板_腾讯前端开发工程师,教