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/addProjectJson格式例子 { "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"] }