Dispositivos
Multi instância de emulador Android: grupos de dispositivos
Agrupe janelas de emulador Android multi-instância e dispositivos na nuvem no MAS, dê a cada um macro, argumentos e proxy, e inicie todos de uma vez.
- Windows
- Mac
- Emulador
- Dispositivo na nuvem
- Studio
- API
Nesta página
- Antes de começar
- Dois tipos de grupo
- Criar um grupo
- Adicionar dispositivos
- BlueStacks, LDPlayer e outros emuladores Android multi-instância
- Configurar cada dispositivo
- Proxy por dispositivo
- Webhooks por dispositivo
- Iniciar e parar
- Logs por dispositivo
- Agendar um grupo
- Rotas de grupos e dispositivos para chaves de API
- Solução de problemas
- Iniciar todos informa dispositivos com falha
- Um dispositivo na nuvem não entra no grupo
- Duas instâncias mostram a mesma porta
Um grupo de dispositivos é a unidade que o Macro Automation Studio (MAS) usa para rodar macros em mais de um dispositivo, seja uma configuração multi-instância de emulador Android ou um conjunto de dispositivos na nuvem. Cada dispositivo do grupo tem sua própria macro, argumentos, proxy e webhooks, e o grupo tem Iniciar todos e Parar todos. Esta página cobre os dois tipos de grupo, a configuração por dispositivo, as execuções em massa, os logs e o agendamento.
Antes de começar
- O MAS está instalado e você fez login com um teste ou plano ativo.
- Para um grupo local: uma ou mais instâncias de emulador abertas com o ADB ligado. Veja Dispositivos para as regras de porta.
- Para um grupo na nuvem: pelo menos um dispositivo na nuvem criado na página Dispositivos na nuvem. Veja Dispositivos na nuvem. A página de dispositivos na nuvem explica o que o complemento inclui.
Dois tipos de grupo
Um grupo contém um único tipo de dispositivo, escolhido na criação e fixo depois:
| Tipo | Opção em Tipo | O que contém | Onde as macros rodam |
|---|---|---|---|
Local (byod) | Local | Emuladores neste computador, e o seu próprio celular por adb | Neste computador, controlando o dispositivo por adb |
| Nuvem | Nuvem | Dispositivos na nuvem que o MAS roda para você | Nos servidores do MAS, então o app pode fechar |
Um dispositivo na nuvem só pode entrar em um grupo na nuvem, e um emulador só pode entrar em um grupo local. Misturar é recusado com “a cloud device can only be added to a cloud group”.
Criar um grupo
- Abra Grupos de dispositivos na barra lateral e clique em Criar novo grupo.
- Digite um Nome de 3 a 255 caracteres e uma Descrição opcional.
- Escolha o Tipo: Local ou Nuvem.
- Clique em Criar grupo.
A lista de grupos mostra todo grupo com a contagem de dispositivos e uma contagem ao vivo dos dispositivos em execução. Use a visualização em grade ou em tabela, ordene por nome, idade ou contagem de dispositivos, e pesquise por nome. Editar muda o nome e a descrição; o tipo não pode mudar.
Adicionar dispositivos
- Abra o grupo e clique em Adicionar dispositivo.
- Digite um Nome do dispositivo.
- Escolha a porta do emulador em Porta. Clique em Atualizar para escanear de novo, ou escolha Porta personalizada e digite-a.
- Se quiser, escolha uma Macro inicial.
- Clique em Adicionar dispositivo.
- Abra o grupo e clique em Adicionar dispositivo na nuvem.
- Escolha um dispositivo na lista. Os dispositivos que já estão neste grupo ficam ocultos.
- Clique em Adicionar.
Dispositivos na nuvem são criados na página Dispositivos na nuvem, não aqui. Se a lista estiver vazia, a caixa de diálogo leva você até lá.
BlueStacks, LDPlayer e outros emuladores Android multi-instância
Toda instância de emulador escuta na própria porta adb, e o MAS trata toda porta como um dispositivo separado. Três janelas do BlueStacks ou três instâncias do LDPlayer viram, portanto, três dispositivos no grupo, cada um com sua macro e seus argumentos. Os guias do BlueStacks, do LDPlayer, do MuMu Player e do MEmu mostram onde fica a porta de cada instância, e o guia de multi-instância monta uma farm completa.
Configurar cada dispositivo
Todo card de dispositivo tem os mesmos controles:
- Macro: escolha a macro que este dispositivo roda. Um dispositivo sem macro é pulado por Iniciar todos.
- Configurações da macro: abre o formulário de argumentos da macro para este dispositivo. A barra Perfil no topo decide onde os valores vivem: um perfil de configurações nomeado, compartilhado por todo dispositivo que o segue, ou Personalizado (somente este dispositivo). Salvar um perfil atualiza todo dispositivo que o usa, e a barra diz quantos. Toda macro tem um perfil Padrão que não pode ser excluído. Novo salva os valores atuais como um perfil novo.
- Contagem de execuções: quantas vezes a macro se repete neste dispositivo.
- Configurações avançadas: o seletor de Proxy, a linha Notificações mostrando quantos webhooks são avisados sobre este dispositivo, com um link Gerenciar, e Dados do proxy hoje.
- Editar dispositivo muda o nome e a porta; o botão de lixeira remove o dispositivo do grupo.
Clique em Salvar alterações depois de editar a macro ou a contagem de execuções. As escolhas de proxy e de perfil salvam sozinhas.
Proxy por dispositivo
Escolha um proxy na lista Proxy; Sem proxy o remove. Um proxy por dispositivo, fixo por padrão para cada dispositivo manter o próprio IP. Em um emulador, o proxy é aplicado durante cada execução; em um dispositivo na nuvem, ele é aplicado na próxima vez que o dispositivo iniciar. Detalhes, limites e o IP de saída nos webhooks estão na página Proxies.
Webhooks por dispositivo
Os endpoints de webhook têm escopo definido na página Webhooks: todos os dispositivos, grupos escolhidos ou dispositivos escolhidos. O card do dispositivo só informa quantos endpoints cobrem este dispositivo; mude o escopo na página Webhooks. Os eventos de execução carregam device_id, device_name, device_port e group_id, então um único endpoint consegue distinguir os dispositivos. Veja Webhooks.
Iniciar e parar
Iniciar em um card roda só aquele dispositivo. Em um dispositivo local, o MAS conecta por adb e inicia a macro; em um dispositivo na nuvem, ele inicia uma execução no servidor.
Iniciar todos roda o grupo inteiro:
- Os dispositivos iniciam um após o outro, com meio segundo de intervalo, na ordem da lista.
- Um dispositivo sem macro atribuída é pulado e contado como falha; os outros iniciam mesmo assim.
- O resultado é uma contagem, por exemplo 9 com sucesso e 1 com falha, com até 5 mensagens de erro na notificação. A caixa de diálogo Iniciando todos os dispositivos mostra o progresso e um log da operação.
- Em um grupo na nuvem, Iniciar todos dispara uma execução no servidor por dispositivo, um de cada vez. O limite de dispositivos em execução do seu plano continua valendo, então um dispositivo que não consegue iniciar avisa na própria notificação.
Parar todos encerra toda execução do grupo do mesmo jeito. Parar uma execução na nuvem deixa o dispositivo na nuvem ligado.
Cada card mostra o seu estado: Parado, Conectando, Baixando, Iniciando, Em execução, Parando ou Erro. O cabeçalho do grupo resume em contagens de ativos, ociosos e com erro.
Logs por dispositivo
Todo card tem uma aba Dashboard, que mostra a interface de execução da macro quando ela tem uma, e uma aba Logs com a saída do próprio dispositivo:
- Filtre por Todos, Usuário, Exec, Erros ou Avisos. As linhas de Usuário são a saída de
printemas.logdo seu script; as linhas de Exec vêm do executor. - Pesquisar logs filtra por texto, Seguir mantém a linha mais nova à vista, e Hora alterna as marcações de tempo.
- Salvar grava o log em um arquivo; Limpar esvazia o painel.
Os eventos de proxy e de webhook aparecem no mesmo painel, por exemplo “Proxy connected via office, traffic routed through 203.0.113.9”. O painel de um dispositivo na nuvem mostra o final da saída da execução no servidor. As execuções concluídas, com código de saída e duração, ficam listadas em Execuções.
Agendar um grupo
O Agendador roda uma macro em uma porta, em um horário que ele escolhe entre os seus dispositivos. Para agendar um grupo inteiro, crie um job por dispositivo com o mesmo horário e a mesma recorrência. As execuções agendadas em um dispositivo que pertence a um grupo carregam o id desse grupo, então os webhooks com escopo de grupo também disparam para elas.
Rotas de grupos e dispositivos para chaves de API
Uma chave de API pode ler seus grupos e dispositivos: GET /api/emulator/groups e GET /api/emulator/devices. As duas retornam só o que o dono da chave possui, e as linhas de dispositivo incluem porta, macro, grupo e perfil de configurações. Criar, editar e excluir grupos ou dispositivos, e iniciá-los ou pará-los, exige o login do próprio app. Veja a API REST.
Solução de problemas
Iniciar todos informa dispositivos com falha
Abra a notificação ou o log da operação. “device X has no macro assigned” significa que o card não tem nenhuma Macro selecionada. Um dispositivo local que não consegue conectar falha com o erro do adb; siga a Solução de problemas de ADB. Os dispositivos que iniciaram continuam rodando.
Um dispositivo na nuvem não entra no grupo
O grupo é um grupo local. Crie um grupo com o Tipo definido como Nuvem e adicione o dispositivo ali. A mesma regra impede um emulador de entrar em um grupo na nuvem.
Duas instâncias mostram a mesma porta
Cada porta pertence a um único dispositivo. Se duas janelas de emulador informam a mesma porta, uma delas está com o ADB desligado ou não terminou de iniciar. Aguarde a segunda instância terminar o boot, clique em Atualizar na lista de portas e adicione-a com a própria porta.
Próximos passos
Páginas relacionadas
Obrigado. Se algo estiver errado, conte para a gente no Discord.
Dúvidas? Pergunte no Discord