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