Skip to main content

DeviceFarm App Manager Library

Biblioteca Robot Framework para reservar dispositivos, baixar aplicativos do Firebase, realizar upload e garantir a instalação no DeviceFarm.

Instalação

python -m pip install --upgrade devicefarm-app-manager-library

Import único

*** Settings ***
Library    devicefarm_app_manager_library

O import unificado disponibiliza, entre outras, as seguintes keywords:

  • Seleciona Dispositivo Pronto Para Uso
  • Download APK Firebase
  • Upload Aplicativo para o devicefarm
  • Instalar Aplicativo em dispositivo reservado
  • Consultar Aplicativo Instalado
  • Garantir Aplicativo Instalado
  • Retorna counter do aplicativo no devicefarm

Exemplo

*** Settings ***
Library    devicefarm_app_manager_library

*** Variables ***
@{APP_VERSAO}    1.8.4    201    ANDROID
${PACKAGE}       br.gov.caixa.fies

*** Test Cases ***
Reservar e instalar
    ${device_id}=    Seleciona Dispositivo Pronto Para Uso
    ...    platform=ANDROID
    ...    preferred_devices=${DEVICES}

    ${resultado}=    Garantir Aplicativo Instalado
    ...    device_id=${device_id}
    ...    app_identifier=${PACKAGE}
    ...    version=${APP_VERSAO}[0]
    ...    build=${APP_VERSAO}[1]
    ...    platform=${APP_VERSAO}[2]

Configuração

Defina ENV_FILE com o caminho do .env do projeto consumidor ou disponibilize as variáveis diretamente no ambiente:

DEVICEFARM_BASE_URL=https://seu-devicefarm/rest
DEVICEFARM_TENANT_ID=tenant-id
DEVICEFARM_WORKSPACE_ID=workspace-id
DEVICEFARM_CLIENT_ID=client-id
DEVICEFARM_CLIENT_SECRET=client-secret

DEVICEFARM_APP_FOLDER=./resources/apks
DEVICEFARM_STATE_FILE=./resources/apks/install_state.json
DEVICEFARM_UPLOAD_CACHE_FILE=./resources/apks/cache/upload_cache.json

FIREBASE_SERVICE_ACCOUNT_FILE=./credentials/firebase.json
FIREBASE_PROJECT_NUMBER=project-number
FIREBASE_APP_ID=app-id

DEVICEFARM_REQUEST_TIMEOUT=30
DEVICEFARM_UPLOAD_TIMEOUT=300
LOG_DIR=output

DEVICEFARM_REQUEST_TIMEOUT controla as chamadas comuns à API. O upload do APK usa DEVICEFARM_UPLOAD_TIMEOUT separadamente e aceita valores maiores para redes lentas ou arquivos grandes. Os valores são expressos em segundos.

Também é possível sobrescrever o valor em uma chamada específica:

Garantir Aplicativo Instalado
...    device_id=${device_id}
...    app_identifier=${PACKAGE}
...    version=1.8.4
...    build=201
...    platform=ANDROID
...    upload_timeout=900

Os nomes antigos oauthClientId e oauthClientSecret ainda são aceitos na versão 1.1.1, mas estão depreciados.

Compatibilidade

Os imports antigos continuam disponíveis durante a migração:

Library    device_farm_library
Library    upload_app_library
Library    devicefarm_app_manager

Novos projetos devem utilizar apenas devicefarm_app_manager_library.

Desenvolvimento

python -m pip install -e .
python -m pytest -q
python -m build
python -m twine check dist/*

A publicação no PyPI é executada pelo workflow de release quando uma tag v* é enviada ao GitHub. O workflow valida se a tag corresponde à versão do pyproject.toml antes da publicação.

Metadata

Release files for devicefarm-app-manager-library 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devicefarm-app-manager-library 1.1.1
File Size Uploaded
devicefarm_app_manager_library-1.1.1.tar.gz 18.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devicefarm-app-manager-library 1.1.1
File Interpreter ABI Platform
devicefarm_app_manager_library-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.1 kB

Release files / devicefarm_app_manager_library-1.1.1.tar.gz

Download URL devicefarm_app_manager_library-1.1.1.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
78b5f93c6e0aa9aa5e850d6634af0b6c4675b8debe07065b008d064bde5851d6
BLAKE2b-256 checksum
How to use checksums
4de41c27dafc30337c051f1b332138c094aa2e6c8815f0e4640cb4855214c443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / devicefarm_app_manager_library-1.1.1-py3-none-any.whl

Download URL devicefarm_app_manager_library-1.1.1-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09cec99d07ef674b5f01312a2f5cfa148b9e2c2dd5e6da9203efc3c53fe1c30c
BLAKE2b-256 checksum
How to use checksums
39eeac4fde1aaf55a320c4927dfba15bdb13a58e9c96c2e15ba8fbc1e89b126d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.2

2 release files

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page