1. Stf平台接口说明[编辑]
    2. 概述 描述背景
    3. 接口说明
    4. 登录接口[编辑]
    5. 调用地址/格式 方法:get 路径:domain+/auth/mock/
    6. 返回值 返回值:返回重定向地址
    7. 备注: 由于使用sso登录无需带上参数,访问时带上cookie认证信息就可以了。
    8. 获取用户信息接口[编辑]
    9. 调用地址 方法:post 路径:domian+/app/api/v1/state.js
    10. 返回值 以下是返回值例子: {
    11. "config": {
    12. "websocketUrl": "http://stf.oa.com:7110/?uip=%3A%3Affff%3A127.0.0.1"
    13. },
    14. "user": {
    15. "createdAt": "2016-11-25T07:45:41.816Z",
    16. "email": "YorickYe@boyaa.com",
    17. "forwards": [],
    18. "group": "IzER5b1PQTyx1NRqflLuAg==",
    19. "ip": "::ffff:127.0.0.1",
    20. "lastLoggedInAt": "2016-12-05T07:39:08.487Z",
    21. "name": "YorickYe",
    22. "settings": {
    23. "deviceListActiveTabs": {
    24. "details": false,
    25. "icons": true,
    26. "monkey": false
    27. },
    28. "deviceListSort": {
    29. "fixed": [
    30. {
    31. "name": "state",
    32. "order": "asc"
    33. }
    34. ],
    35. "user": [
    36. {
    37. "name": "model",
    38. "order": "asc"
    39. }
    40. ]
    41. },
    42. "lastUsedDevice": "0216026890651005"
    43. }
    44. }
    45. }
    46. ApkInfo查询接口[编辑]
    47. 调用地址: 方法:get 路径:domain+/app/api/v1/apkinfo
    48. 返回值
    49. Json格式 {
    50. "success": true,
    51. "apkinfo": [
    52. {
    53. "appName": "Chess",
    54. "appiconpath": path
    55. "committime": "2016-11-29T03:33:21.313Z",
    56. "fileName": "poker-1.5.4-release-release-chessgoogle-1311-20161118 (1).apk",
    57. "filePath": "/var/stf/file/apk/upload_31898cdb0c4ab3a7bd75d53ae6c589d1",
    58. "href": path,
    59. "id": "c2aee320-cae1-4d17-a536-432f039ee470",
    60. "launchActivity": "com.boyaa.catur.GameActivity",
    61. "package": "com.boyaa.catur",
    62. "projectName": "印尼大厅",
    63. "userEmail": null,
    64. "userName": "YorickYe",
    65. "versionName": "1.5.4'"
    66. }
    67. }
    68. 查询项目名[编辑]
    69. 调用地址 方法:get 路径:domain+/app/api/v1/loadProject 返回值 Json
    70. [{ 'id': 'aaaaaaaaaaaaaaa' 'projectName' :'博雅斗地主',...... } { 'id': 'bbbbbbbbbbbbbb' ,'projectName':'博雅斗牛' }]
    71. 增加项目名[编辑]
    72. 调用地址 方法:post 路径:domain+/app/api/v1/addProject
    73. Json格式例子 { "projectName": "博雅斗地主" }
    74. 上传apk接口[编辑]
    75. 调用地址 方法:post 路径:domian+/s/upload/apk
    76. 返回值 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" } } }
    77. 参数说明 此返回值中的idhref需要传到下一个界面中并在提交测试时保存到body当中
    78. 上传完APK后更新apk信息[编辑]
    79. 调用地址 方法:post 路径:domain+/app/api/v1/updateApkinfo 参数说明: 需要上传的Json参数
    80. { "id":'cf37adbb-55c7-4445-948c-f0b8717160f0' "userName": "无敌小次郎" "projectName":"斗地主" "userEmail":"abc@qq.com" }
    81. 查询机型信息[编辑]
    82. 调用地址: 方法:get 路径:需要get两个地址 1domain+/app/api/v1/phonemodels 2domain+/app/api/v1/phonedpis 返回值 Json
    83. Get phonemodels
    84. { "manufacturer":['huawei','zte','oppo'.....], "os_version":['6.0','5.0','4.4.2','2.3.3'....] }
    85. Get phonedpis
    86. { "dpis":['1080*1920','840*1280'.....] }
    87. 提交测试[编辑]
    88. 调用地址 方法:post 路径:domain+/app/api/v1/monkeytest
    89. 参数说明 Body上需要有
    90. { "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" }
    91. 返回值
    92. writehead(200,'OK',{'Content-Type':'text/html'})
    93. 获取任务列表[编辑]
    94. 调用地址: 方法:get 路径:domain+/app/api/v1/selecttasklist/:projectName/:timepast/:timenow 参数说明:projectName可以是单个projectName,显示全部则用参数All timepast:较小绝对时间 timenow:较大的绝对时间
    95. 返回值: {
    96. "success": true,
    97. "tasklist": [
    98. {
    99. "allstatus": "finish",
    100. "appName": "Fetal11",
    101. "committime": 1479450626.538,
    102. "fileID": "c92a6565-aaf6-425b-aa9f-54c2691ef34b",
    103. "id": "c92a6565-aaf6-425b-aa9f-54c2691ef34b",
    104. "projectName": "test_1",
    105. "taskid": "1479450626508_guixianggui",
    106. "userName": "guixianggui"
    107. },{task2(与上面内容一样)}]}
    108. 获取单个任务的详细信息[编辑]
    109. 调用地址 方法:get 路径:domian+/app/api/v1/loadTaskdetail/:taskid
    110. 返回值 内容较多,以实际看到的进行筛选。
    111. 获取单个任务的错误日志[编辑]
    112. 调用地址
    113. 方法:get
    114. 地址:domain+/app/api/v1/loadtaskerrorinfo/:taskid
    115. 返回值
    116. [{
    117. "serial": "2113ca22"
    118. ,"model": "MI 3"
    119. ,"errorType": "install failed"
    120. ,"reson": "INSTALL_FAILED_INTERNAL_ERROR"
    121. "mobilecount": 1
    122. }, {
    123. serial": "222211aaa"
    124. ,"model": "MI 3"
    125. ,"errorType": "install failed"
    126. ,"reson": "INSTALL_FAILED_INTERNAL_ERROR"
    127. ,"mobilecount": 1
    128. }.... ]
    129. 获取apk-logo[编辑]
    130. 调用地址 方法:get 地址:domain+/app/api/v1/downloadappicon/:fileID
    131. 返回值: 返回的是一张图片
    132. 下载所有的日志文件[编辑]
    133. 调用地址 方法:href 地址:domain+/app/api/v1/download/:taskid 参数说明 report.taskid是从api:/app/api/v1/tasklist过滤出来的taskid
    134. 下载某台设备的日志[编辑]
    135. 调用地址 方法:href 地址:domain+/app/api/v1/download/:taskid/:serial 参数说明 ov.taskid和ov.serail是api :/app/api/v1/tasklist中的detail信息过滤出来的
    136. 在线获取日志内容[编辑]
    137. 调用地址: 方法:get 地址:domain+/app/api/v1/loadDeviceLog/:taskid/:PhoneSerial/firstline/lastline 参数说明: lastline-firstline<500 (一次性拉取不能超过500条)
    138. JSON格式 {
    139. "success": true,
    140. "AllLines": {
    141. "AllLine": "22986\n",
    142. "logcat": [
    143. {
    144. "Line": "1",
    145. "DateTime": "2016-12-06 14:54:40.750",
    146. "Level": "[D]",
    147. "Pid": "8176",
    148. "Tag": "AndroidRuntime ",
    149. "textdata": " "
    150. },{}......]}
    151. 发送邮件[编辑]
    152. 调用地址 方法:post 地址:domain+'/app/api/v1/notifiedusers'
    153. 上传参数
    154. Json格式,
    155. var data = {
    156. taskid: req.body.taskid
    157. ,sendusers: sendusers
    158. ,fileID: req.body.id
    159. }
    160. 打包平台推送apk包接口[编辑]
    161. 方法:post
    162. 测试服环境地址:http://stf-test.oa.com/app/api/v2/pack/apk
    163. 正式服环境地址:http://stf.oa.com/app/app/api/v2/pack/apk
    164. 参数:
    165. file: apk文件路径
    166. projectName: 项目名称
    167. module: 子模块名称(如果需要则传,不需要则不传)
    168. caseSet: 用例集名称(不传则使用默认配置的用例集)
    169. deviceSet: 设备集名称(不传则使用默认配置的设备集)
    170. testEnv: 环境 0:正式 1:测试 2:预发布 (默认正式环境)
    171. 调用例子:
    172. 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
    173. 返回值:
    174. {
    175. "result":true, //true为成功;false为失败
    176. "message":"success"
    177. }
    178. 获取所有用例集名称[编辑]
    179. 方法:get
    180. 测试服环境地址:http://stf-test.oa.com/app/api/v2/cs
    181. 正式服环境地址:http://stf.oa.com/app/app/api/v2/cs
    182. 参数:
    183. 调用例子:
    184. curl http://stf-test.oa.com/app/api/v2/cs
    185. 返回值:
    186. {
    187. "result":true, //true为成功;false为失败
    188. "result":["default","aaa"]
    189. }
    190. 获取所有设备集名称[编辑]
    191. 方法:get
    192. 测试服环境地址:http://stf-test.oa.com/app/api/v2/ds
    193. 正式服环境地址:http://stf.oa.com/app/app/api/v2/ds
    194. 参数:
    195. 调用例子:
    196. curl http://stf-test.oa.com/app/api/v2/ds
    197. 返回值:
    198. {
    199. "result":true, //true为成功;false为失败
    200. "result":["default","tttest"]
    201. }