自動化平臺介面
2018-09-27整理
返回值
Json訊息格式:所有服務端返回的訊息都使用如下格式的包裝:
{
"status":0,
"message":"xxx"
}
status=0說明請求成功,message攜帶資料結果
status!=0說明失敗,具體失敗原因參見status數值。
status取值含義
0 成功 1 使用者未登入 2 使用者被禁用 3 沒有許可權訪問 4 sessionId錯誤,可能是被偽造的,視同未登入,需要使用者重新登入 5 使用者資訊不完全,需要補全資訊 6 邀請碼不存在 10 引數格式錯誤 11 用例重名 12 apk名稱錯誤,用於上傳apk時,appname和apk解析結果不一致時報錯。 13 裝置全部被佔用 14 引數值錯誤19 操作過期 20 應用|用例解析錯誤 21 apk下載失敗(用於通過網站下載方式上傳apk時的下載失敗) 22 apk大小超過限制 23 apk上傳/下載操作過於頻繁,1分鐘內操作3次開始標記,2分鐘內禁止該操作 24 限制一個使用者在5分鐘內最多發15個任務 25 獲取應用失敗 26 下載地址不正確 27 管理員已知曉,定位問題後第一時間回覆哦。 28 webTask中選擇的公有裝置數超過該使用者級別的限制數。目前所有使用者的公有裝置數限制為20。 29 該使用者當天傳送任務數超過每個賬戶每天傳送任務數的限制。 30 這個webTask中用例數超過選擇用例數的限制。 31 操作失敗 32 用例組不存在 33 公共用例組中存在其他使用者的重名用例組34 未測試通過的用例組不能移入公共用例池 35 當前用例組版本已經移入公共庫 40 沒有管理員許可權 41 管理員單獨密碼輸入錯誤 43 模擬使用者功能只能在內網使用 44 請求資源不存在 45 apk的安全等級為危險 460 上傳的檔案不存在 461 解壓後的資料夾不存在 462 用例檔案無效 50 內部錯誤 60 資料庫錯誤
介面
用例與lib庫上傳
POST /arcus/caseFile/uploadCaseAndLib
request
引數名 | 型別 | 必填/選填 | |
---|---|---|---|
caseAndLibFile | MultipartFile | 必填 | 包含用例與lib庫的zip包 |
response
成功
{
"message": {
"cases": [
{
"caseName": "test1_send_gossip_text",
"description": "",
"caseFileName": "maimai_gossip"
},
失敗
{
"status" : 1 | 10 | 20 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
新增用例
POST /arcus/caseFile/add
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | |
appName | String | 必填 | |
uploadId | String | 必填 | /arcus/caseFile/uploadCaseAndLib介面的返回值 |
scriptType | String | 必填 | Python | Java |
cases | Array | 必填 | ["caseFileName1$$$caseNameA", "caseFileName2$$$caseNameB", ...] |
cover | String | 選填 | 目前為總是覆蓋 |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 10 | 11 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
刪除用例檔案
POST /arcus/caseFile/delete
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
ids | Array | 必填 | 用例檔案id陣列 |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
用例列表
GET /arcus/caseFile/scriptList
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 選填 | 包名 |
appName | String | 選填 | 應用名 |
groupId | String | 選填 | 用例組ID |
response
成功
{
"message": [
{
"modifyTime": "2018-09-25 15:39:21",
"tested": false,
"appName": "脈脈",
"scriptType": "Python",
"groupId": "hello_world",
"name": "doing",
"platformType": "Android",
"description": null,
"id": "2510",
"packageName": "com.taou.maimai",
"caseFileName": "hello_world"
},
失敗
{
"status" : 1 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
公共用例列表
GET /arcus/caseFile/publicScriptList
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | 包名 |
appName | String | 必填 | 應用名 |
groupId | String | 必填 | 用例組ID |
userNameMd5 | String | 必填 | 使用者標識 |
response
成功
{
"message": [
{
"modifyTime": "2018-09-26 21:05:26",
"tested": false,
"appName": "脈脈",
"scriptType": "Python",
"groupId": "maimai_test_ok_b",
"name": "test2_send_emoji_message1",
"platformType": "Android",
"description": null,
"id": "2609",
"packageName": "com.taou.maimai",
"caseFileName": "maimai_test_ok_b"
},
失敗
{
"status" : 1 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
用例組列表
GET /arcus/caseGroup/list
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 選填 | 包名 |
appName | String | 選填 | 應用名 |
showCaseNames | String | 選填 | 顯示用例組下的用例欄位 |
response
成功
{
"message": [
{
"personalManageStatus": "NO_PUBLIC",
"modifyTime": "2018-09-25 15:39:20",
"execStatus": "NOT_RUNNING",
"appName": "脈脈",
"scriptType": "Python",
"name": "maimai_gossip",
"platformType": "Android",
"publicGroup": false,
"moveInTime": "",
"id": "maimai_gossip",
"packageName": "com.taou.maimai",
"userNameMd5": "6f3f095f72f3b950"
},
失敗
{
"status" : 1 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
刪除用例組
POST /arcus/caseGroup/delete
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | 包名 |
appName | String | 必填 | 應用名 |
groupId | String | 必填 | 用例組ID |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
移入公共用例池
POST /arcus/caseGroup/moveInPublic
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | 包名 |
appName | String | 必填 | 應用名 |
groupId | String | 必填 | 用例組ID |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 33 | 34 | 35 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
從公共用例池回退
POST /arcus/caseGroup/returnFromPublic
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | 包名 |
appName | String | 必填 | 應用名 |
groupId | String | 必填 | 用例組ID |
returnReason | String | 選填 | 回退原因 |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 3 | 32 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
公共用例組列表
GET /arcus/caseGroup/publicList
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 選填 | 包名 |
appName | String | 選填 | 應用名 |
page | String | 選填 | 頁數,預設為0 |
pz | String | 選填 | 每頁顯示記錄數,預設為0,全部顯示 |
orderBy | String | 選填 | 排序欄位:appName、modifyTime、moveInTime等 |
reverse | String | 選填 | true | false,是否倒序 |
showCaseNames | String | 選填 | 顯示用例組下的用例欄位 |
response
成功
{
"message": {
"total": 1,
"page": 1,
"items": [
{
"execStatus": "SUCCESS",
"appName": "脈脈",
"platformType": "Android",
"userNameMd5": "4d167387b28d13b3",
"returnTime": "",
"testAppVersion": "4.23.22(1279)",
"modifyTime": "2018-09-18 20:58:51",
"publicManageStatus": "MOVE_IN",
"scriptType": "Python",
"name": "maimai_test_ok_b",
"publicGroup": true,
"testExecTime": "2018-09-25 15:38:19",
"id": "maimai_test_ok_b",
"packageName": "com.taou.maimai"
},
失敗
{
"status" : 1 | 3 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
更新狀態為穩定
POST /arcus/caseGroup/updatePublicCaseGroupToStable
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
packageName | String | 必填 | 包名 |
appName | String | 必填 | 應用名 |
groupId | String | 必填 | 用例組ID |
response
成功
{
"status" : 0,
"message" : null
}
失敗
{
"status" : 1 | 3 | 32 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
通過裝置獲取任務報告的用例組列表
GET /arcus/report/getScriptListWithGroupForDevice
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
wTaskId | String | 必填 | web任務ID |
model | String | 必填 | 裝置型號 |
osVersion | String | 必填 | 系統版本 |
response
成功
{
"message": {
"scriptTaskList": {
"maimai_test_ok_a": [
{
"scriptId": "2567",
"name": "test2_send_emoji_message",
"status": "executefail",
"mTaskId": "5bab1e4f4b197704e7a1f9c5:1",
"bInstall": true,
"bLaunch": true,
"bScript": true,
"bUninstall": true,
"bFinish": true
},
失敗
{
"status" : 1 | 3 | 10 | 50 ,
"message" : "XXXXXX", //錯誤原因,有可能為null
}
獲取任務報告中用例的詳細資訊
GET /arcus/report/getScriptDetail
request
引數名 | 型別 | 必填/選填 | 描述 |
---|---|---|---|
mTaskId | String | 必填 | mobile任務ID |
scriptId | String | 必填 | 用例ID |
response
成功
{
"message": {
"bScript": false,
"bInstall": true,
"scriptLogUrl": "http://arcus.in.taou.com/arcus/mobileTaskResult/result/get/log?id003d5bab1e4f4b197704e7a1f9c5_1_2567.log",
"logcatUrl": "http://arcus.in.taou.com/arcus/mobileTaskResult/result/get/log?id003d5bab1e4f4b197704e7a1f9c5:1-logcat",
"taskLogUrl": "http://arcus.in.taou.com/arcus/mobileTaskResult/result/get/log?id003d5bab1e4f4b197704e7a1f9c5:1-tasklog",
"bFinish": true,
"bUninstall": true,
"mTaskType": "SCRIPT",
"scriptResults": [
{
"id": "2567",
"name": "test2_send_emoji_message",
"fileName": "maimai_test_ok_a",
"scriptLogKey": "http://arcus.in.taou.com/arcus/mobileTaskResult/result/get/log?id003d5bab1e4f4b197704e7a1f9c5_1_2567.log",
"execTime": 76437,
"result": false,
"screenshotMap": {
"5bab1e4f4b197704e7a1f9c5_1_2567_0": "5bab1e4f4b197704e7a1f9c5_1_2567_0.png"
},
"screenshots": {
"5bab1e