API-документ atxserver2
Интерфейс для использования устройства основан на API openstf (https://github.com/openstf/stf/blob/master/doc/API.md).
В качестве примера адреса atxserver2 используется http://localhost:4000.
Все интерфейсы используют токен аутентификации, каждый запрос в заголовке содержит Authorization: Bearer xxxxx-token-xxxx.
Токен можно получить на странице $SERVER_URL/user.
После получения токена можно выполнить небольшую попытку. Предположим, что токен сохранён в переменной среды $TOKEN.
$ pip install httpie # установка инструмента командной строки httpie
$ http GET $SERVER_URL/api/v1/user Authorization:"Bearer $TOKEN"
{
"username": "fa",
....
}
Если токен введён неправильно, сервер отвечает 403 Forbidden.
Некоторые операции также выполняются с помощью небольшого инструмента httpie. Подробнее см. в httpie cheetsheet (https://devhints.io/httpie).
GET /api/v1/user
$ http GET $SERVER_URL/api/v1/user
{
"email": "fa@example.com",
"username": "fa",
"token": "xxxxx.....xxxxx",
"createdAt": "2019-03-06T12:38:02.338000",
...
}
GET /api/v1/devices
$ HTTP GET $SERVER_URL/api/v1/devices
# Поддерживаемые параметры фильтрации ?platform=apple&usable=true
{
"success": true,
"devices": [{
"platform": "android",
"present": true,
"using": true,
"colding": false,
"userId": "fa@example.com",
"properties": {
"brand": "SMARTISAN",
"version": "7.1.1"
},
....
}],
"count": 4,
}
Несколько важных полей:
usable эквивалентно {present: true, using: false, colding: false}
.
GET /api/v1/devices/${udid}
$ HTTP GET $SERVER_URL/api/v1/devices/${udid}
{
"success": true,
"device": {
"udid": "6EB0217704000486",
"platform": "android",
"present": true,
"using": false,
"colding": false,
"userId": null,
"properties": {
"brand": "HONOR",
"model": "DUK-AL20",
"name": "华为 荣耀 V9",
"serial": "6EB0217704000486",
"version": "8.0.0"
},
"updatedAt": "2019-03-29T14:53:56.569000",
"usingBeganAt": "2019-03-28T18:33:23.100000"
}
}
При отсутствии udid статус кода = 400.
POST /api/v1/user/devices
$ http POST $SERVER_URL/api/v1/user/devices <<< '{"udid": "xx...xxxx"}'
{
"success": true,
"description": "Устройство успешно добавлено"
}
Данные передаются через полезную нагрузку в формате JSON.
— udid — обязательный параметр (udid Android-устройства — это product, mac-адрес, серийный номер, сгенерированный по комбинации). — idleTimeout: максимальное время простоя устройства в секундах (необязательно), если текущее время — время активности > idleTimeout, устройство автоматически освобождается.
Пример:
{
"udid": "xlj1311l2fkjkzdf",
"idleTimeout": 600
}
Если вы администратор, вы также можете передать email, чтобы указать другого человека в качестве пользователя устройства.
Пример:
{
"udid": "xlj1311l2fkjkzdf",
"email": "hello@world.com"
}
Обновить время активации интерфейса
GET /api/v1/user/devices/{$UDID}/active
$ http GET /api/v1/user/devices/${UDID}/active
{
"success": true,
"description": "Время активации устройства обновлено"
}
GET /api/v1/user/devices/${UDID}
$ http GET $SERVER_URL/api/v1/user/devices/${UDID}
{
"success": true,
"device": {
"platform": "android",
"present": true,
"using": true,
"colding": false,
"userId": "fa@example.com",
"properties": {
"brand": "SMARTISAN",
"version": "7.1.1"
},
"source": {
"atxAgentAddress": "10.0.0.1:20001",
"remoteConnectAddress": "10.0.0.1:20002",
"whatsInputAddress": "10.0.0.1:20003",
"secret": "6NC5Tls1",
"url": "http://10.0.1.1:3500",
}
}
}
По сравнению с /api/v1/devices
, в полученном устройстве есть дополнительное поле source, которое подробно описано ниже.
Общие для Android и iOS:
— url: URL провайдера, который позволяет устройству cold и устанавливать приложения.
Android-специфичные:
— atxAgentAddress: в основном используется для тестирования фреймворка uiautomator2. — remoteConnectAddress: используется для подключения adb connect. — whatsInputAddress: этот параметр можно игнорировать, он в основном предоставляет адрес ввода в реальном времени для удалённого устройства.
iOS-специфичный:
— wdaUrl: HTTP-интерфейс webdriveragent, например http://10.0.0.1:9300
.
Доступ к текущему потоку изображений через WebSocket на ${wdaUrl}/screen
.
DELETE /api/v1/user/devices/${UDID}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )