1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hagyao520-ATX

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ATX-SERVER

  • Manage batch of atx-agents

Testerhome上相关文章

  1. 安卓设备集群管理 atx-server By codeskyblue.
  2. atx 安卓集群管理 安装运行及自动化的实践 By cynic.

Install

Важно: необходимо иметь базовые знания языка Go и знать, как скомпилировать программу на Go.

  1. Установите и запустите RethinkDB.
  2. Установите Go.

Скомпилируйте с помощью команды go:

$ go get -v github.com/openatx/atx-server
$ cd $GOPATH/src/github.com/openatx/atx-server
$ go build

Usage

Запустите RethinkDB:

$ rethinkdb
Running rethinkdb 2.3.6 (CLANG 8.1.0 (clang-802.0.42))...
Running on Darwin 16.6.0 x86_64
...

Запустите ATX-сервер:

./atx-server --port 8000

Установите ATX-агент с помощью uiautomator2 на Android-устройство. Ваш Android-телефон и сервер, на котором запущен ATX-сервер, должны находиться в одной локальной сети.

Предположим, что сервер, на котором работает ATX-сервер, имеет IP-адрес 10.0.1.1 и порт прослушивания 8000. Выполните следующую команду:

$ pip install -U --pre uiautomator2
$ python -m uiautomator2 init 10.0.1.1:8000

Откройте браузер по адресу http://localhost:8000, вы увидите список устройств на веб-странице.

Advanced usage

Настройка уведомлений через DingTalk

  1. Использование командной строки:

    ./atx-server --ding-token 13gb4db7c276d22e84f788fa693b729d53218b8e07d6ede43de79360c962 --port 8080
  2. Настройка переменной среды:

    export DING_TOKEN="13gb4db7c276d22e84f788fa693b729d53218b8e07d6ede43de79360c962"
    ./atx-server --port 8080

APIs

/list интерфейс

Здесь udid генерируется на основе hwaddr, model, serial:

$ curl $SERVER_URL/list
[
    {
        "udid": "741AEDR42P6YM-2c:57:31:4b:40:74-M2_E",
        "ip": "10.240.218.20",
        "present": true,
        "ready": true,
        "using": true,
        "provider": null,
        "serial": "741AEDR42P6YM",
        "brand": "Meizu",
        "model": "M2 E",
        "hwaddr": "2c:57:31:4b:40:74",
        "agentVersion": "0.1.1",
        "battery": {},
        "display": {
            "width": 1080,
            "height": 1920
        }
    }
]

Обратите внимание на следующие поля:

  • present означает, что устройство подключено к сети;
  • ready — это большой палец вверх, который можно увидеть и отредактировать в Интернете;
  • using означает, используется ли устройство кем-либо.

Поле provider — это специальное поле. Если устройство подключено к компьютеру, на котором запущена программа u2init, то в информации об устройстве можно найти следующие данные:

"provider": {
    "id": "33576428",
    "ip": "10.0.0.1",
    "port": 10000,
    "present": true  # provider online of not
}

Если provider равен null, это означает, что устройство не подключено.

/devices/{query}/info

Возвращаемое значение аналогично отдельному результату /list, здесь оно не приводится.

/version

ATX-агент использует этот интерфейс для определения необходимости обновления.

$ curl /version
{
    "server": "dev",
    "atx-agent": "0.0.7"
}

Выполнение shell-команды

$ curl -X POST -F command="pwd" $SERVER_URL/devices/{query}/shell
{
    "output": "/"
}

Управление устройством

Состояние кода: успех 200, сбой 403.

Занять устройство

$ curl -X POST $SERVER_URL/devices/{query}/reserved
Success

Освободить устройство

Состояние кода: успех 200, сбой 403.

$ curl -X DELETE $SERVER_URL/devices/{query}/reserved
Release success

Случайный захват устройства:

$ curl -X POST $SERVER_URL/devices/:random/reserved
Success

Связь между провайдером (u2init) и сервером (atx-server)

Провайдер отправляет POST на сервер. Информация о сердцебиении, чтобы сервер знал, что провайдер подключен к сети. Также необходимо отправлять те же данные на сервер каждые 15 секунд, иначе провайдер будет помечен как отключённый.

$ curl -X POST $SERVER_URL/provider/heartbeat

Возможно, потребуется добавить поле ip, если провайдер и сервер находятся в разных сетях:

$ PROVIDER_IP=10.0.0.1 # change to your

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hagyao520-ATX.git
git@api.gitlife.ru:oschina-mirror/hagyao520-ATX.git
oschina-mirror
hagyao520-ATX
hagyao520-ATX
master