Stf平台接口说明[编辑]
概述 描述背景
接口说明
登录接口[编辑]
调用地址/格式 方法:get 路径:domain+/auth/mock/
返回值 返回值:返回重定向地址
备注: 由于使用sso登录无需带上参数,访问时带上cookie认证信息就可以了。
获取用户信息接口[编辑]
调用地址 方法:post 路径:domian+/app/api/v1/state.js
返回值 以下是返回值例子: {
"config": {
"websocketUrl": "http://stf.oa.com:7110/?uip=%3A%3Affff%3A127.0.0.1"
},
"user": {
"createdAt": "2016-11-25T07:45:41.816Z",
"email": "YorickYe@boyaa.com",
"forwards": [],
"group": "IzER5b1PQTyx1NRqflLuAg==",
"ip": "::ffff:127.0.0.1",
"lastLoggedInAt": "2016-12-05T07:39:08.487Z",
"name": "YorickYe",
"settings": {
"deviceListActiveTabs": {
"details": false,
"icons": true,
"monkey": false
},
"deviceListSort": {
"fixed": [
{
"name": "state",
"order": "asc"
}
],
"user": [
{
"name": "model",
"order": "asc"
}
]
},
"lastUsedDevice": "0216026890651005"
}
}
}
ApkInfo查询接口[编辑]
调用地址: 方法:get 路径:domain+/app/api/v1/apkinfo
返回值
Json格式 {
"success": true,
"apkinfo": [
{
"appName": "Chess",
"appiconpath": path
"committime": "2016-11-29T03:33:21.313Z",
"fileName": "poker-1.5.4-release-release-chessgoogle-1311-20161118 (1).apk",
"filePath": "/var/stf/file/apk/upload_31898cdb0c4ab3a7bd75d53ae6c589d1",
"href": path,
"id": "c2aee320-cae1-4d17-a536-432f039ee470",
"launchActivity": "com.boyaa.catur.GameActivity",
"package": "com.boyaa.catur",
"projectName": "印尼大厅",
"userEmail": null,
"userName": "YorickYe",
"versionName": "1.5.4'"
}
}
查询项目名[编辑]
调用地址 方法:get 路径:domain+/app/api/v1/loadProject 返回值 Json值
[{ 'id': 'aaaaaaaaaaaaaaa' 'projectName' :'博雅斗地主',...... } { 'id': 'bbbbbbbbbbbbbb' ,'projectName':'博雅斗牛' }]
增加项目名[编辑]
调用地址 方法:post 路径:domain+/app/api/v1/addProject
Json格式例子 { "projectName": "博雅斗地主" }
上传apk接口[编辑]
调用地址 方法:post 路径:domian+/s/upload/apk
返回值 Json格式例子 {"success":true,"resources": {"file": {"date":"2016-10-31T09:13:57.862Z", "plugin":"apk", "id":"cf37adbb-55c7-4445-948c-f0b8717160f0", "name":"cowboy-2.8.1-beta281-beta-main-1038-20160809.apk", "href":"/s/apk/cf37adbb-55c7-4445-948c-f0b8717160f0/cowboy-2.8.1-beta281-beta-mai n-1038-20160809.apk" } } }
参数说明 此返回值中的id与href需要传到下一个界面中并在提交测试时保存到body当中
上传完APK后更新apk信息[编辑]
调用地址 方法:post 路径:domain+/app/api/v1/updateApkinfo 参数说明: 需要上传的Json参数
{ "id":'cf37adbb-55c7-4445-948c-f0b8717160f0' "userName": "无敌小次郎" "projectName":"斗地主" "userEmail":"abc@qq.com" }
查询机型信息[编辑]
调用地址: 方法:get 路径:需要get两个地址 1、domain+/app/api/v1/phonemodels 2、domain+/app/api/v1/phonedpis 返回值 Json值
Get phonemodels
{ "manufacturer":['huawei','zte','oppo'.....], "os_version":['6.0','5.0','4.4.2','2.3.3'....] }
Get phonedpis
{ "dpis":['1080*1920','840*1280'.....] }
提交测试[编辑]
调用地址 方法:post 路径:domain+/app/api/v1/monkeytest
参数说明 Body上需要有
{ "manufacturer":['huawei','zte','oppo'.....], "os_version":['6.0','5.0','4.4.2','2.3.3'....], "dpis":['1080*1920','840*1280'.....], "id":"cf37adbb-55c7-4445-948c-f0b8717160f0" }
返回值
writehead(200,'OK',{'Content-Type':'text/html'})
获取任务列表[编辑]
调用地址: 方法:get 路径:domain+/app/api/v1/selecttasklist/:projectName/:timepast/:timenow 参数说明:projectName可以是单个projectName,显示全部则用参数All timepast:较小绝对时间 timenow:较大的绝对时间
返回值: {
"success": true,
"tasklist": [
{
"allstatus": "finish",
"appName": "Fetal11",
"committime": 1479450626.538,
"fileID": "c92a6565-aaf6-425b-aa9f-54c2691ef34b",
"id": "c92a6565-aaf6-425b-aa9f-54c2691ef34b",
"projectName": "test_1",
"taskid": "1479450626508_guixianggui",
"userName": "guixianggui"
},{task2(与上面内容一样)}]}
获取单个任务的详细信息[编辑]
调用地址 方法:get 路径:domian+/app/api/v1/loadTaskdetail/:taskid
返回值 内容较多,以实际看到的进行筛选。
获取单个任务的错误日志[编辑]
调用地址
方法:get
地址:domain+/app/api/v1/loadtaskerrorinfo/:taskid
返回值
[{
"serial": "2113ca22"
,"model": "MI 3"
,"errorType": "install failed"
,"reson": "INSTALL_FAILED_INTERNAL_ERROR"
"mobilecount": 1
}, {
serial": "222211aaa"
,"model": "MI 3"
,"errorType": "install failed"
,"reson": "INSTALL_FAILED_INTERNAL_ERROR"
,"mobilecount": 1
}.... ]
获取apk-logo[编辑]
调用地址 方法:get 地址:domain+/app/api/v1/downloadappicon/:fileID
返回值: 返回的是一张图片
下载所有的日志文件[编辑]
调用地址 方法:href 地址:domain+/app/api/v1/download/:taskid 参数说明 report.taskid是从api:/app/api/v1/tasklist过滤出来的taskid
下载某台设备的日志[编辑]
调用地址 方法:href 地址:domain+/app/api/v1/download/:taskid/:serial 参数说明 ov.taskid和ov.serail是api :/app/api/v1/tasklist中的detail信息过滤出来的
在线获取日志内容[编辑]
调用地址: 方法:get 地址:domain+/app/api/v1/loadDeviceLog/:taskid/:PhoneSerial/firstline/lastline 参数说明: lastline-firstline<500 (一次性拉取不能超过500条)
JSON格式 {
"success": true,
"AllLines": {
"AllLine": "22986\n",
"logcat": [
{
"Line": "1",
"DateTime": "2016-12-06 14:54:40.750",
"Level": "[D]",
"Pid": "8176",
"Tag": "AndroidRuntime ",
"textdata": " "
},{}......]}
发送邮件[编辑]
调用地址 方法:post 地址:domain+'/app/api/v1/notifiedusers'
上传参数
Json格式,
var data = {
taskid: req.body.taskid
,sendusers: sendusers
,fileID: req.body.id
}
打包平台推送apk包接口[编辑]
方法:post
测试服环境地址:http://stf-test.oa.com/app/api/v2/pack/apk
正式服环境地址:http://stf.oa.com/app/app/api/v2/pack/apk
参数:
file: apk文件路径
projectName: 项目名称
module: 子模块名称(如果需要则传,不需要则不传)
caseSet: 用例集名称(不传则使用默认配置的用例集)
deviceSet: 设备集名称(不传则使用默认配置的设备集)
testEnv: 环境 0:正式 1:测试 2:预发布 (默认正式环境)
调用例子:
curl -F file=@/var/test.apk -F projectName=约牌房 -F module=鞍山麻将 -F caseSet=default -F deviceSet=default http://stf-test.oa.com/app/api/v2/pack/apk
返回值:
{
"result":true, //true为成功;false为失败
"message":"success"
}
获取所有用例集名称[编辑]
方法:get
测试服环境地址:http://stf-test.oa.com/app/api/v2/cs
正式服环境地址:http://stf.oa.com/app/app/api/v2/cs
参数:
无
调用例子:
curl http://stf-test.oa.com/app/api/v2/cs
返回值:
{
"result":true, //true为成功;false为失败
"result":["default","aaa"]
}
获取所有设备集名称[编辑]
方法:get
测试服环境地址:http://stf-test.oa.com/app/api/v2/ds
正式服环境地址:http://stf.oa.com/app/app/api/v2/ds
参数:
无
调用例子:
curl http://stf-test.oa.com/app/api/v2/ds
返回值:
{
"result":true, //true为成功;false为失败
"result":["default","tttest"]
}