Ignorando a reassinatura do aplicativo em dispositivos privados no Device Farm AWS - AWS Device Farm

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ignorando a reassinatura do aplicativo em dispositivos privados no Device Farm AWS

A assinatura de aplicativos é um processo que envolve a assinatura digital de um pacote de aplicativos (por exemplo APK,, IPA) com uma chave privada antes que ele possa ser instalado em um dispositivo ou publicado em uma loja de aplicativos, como a Google Play Store ou a Apple App Store. Para agilizar os testes, reduzindo o número de assinaturas e perfis necessários e aumentando a segurança dos dados em dispositivos remotos, a AWS Device Farm assinará novamente seu aplicativo depois que ele for carregado no serviço.

Depois de carregar seu aplicativo no AWS Device Farm, o serviço gerará uma nova assinatura para o aplicativo usando seus próprios certificados de assinatura e perfis de provisionamento. Esse processo substitui a assinatura original do aplicativo pela assinatura do AWS Device Farm. O aplicativo reassinado é então instalado nos dispositivos de teste fornecidos pela AWS Device Farm. A nova assinatura permite que o aplicativo seja instalado e executado nesses dispositivos sem a necessidade dos certificados originais do desenvolvedor.

No iOS, substituímos o perfil de provisionamento incorporado por um perfil curinga e renunciamos ao aplicativo. Se você os fornecer, adicionaremos dados auxiliares ao pacote do aplicativo antes da instalação para que os dados estejam presentes na sandbox do seu aplicativo. A renúncia do aplicativo iOS resulta na remoção de determinados direitos. Isso inclui grupo de aplicativos, domínios associados, Game Center,, HealthKit HomeKit, Configuração de acessórios sem fio, compra no aplicativo, áudio entre aplicativos, Apple Pay, notificações push e VPN configuração e controle.

No Android, renunciamos ao aplicativo. Isso pode interromper a funcionalidade que depende da assinatura do aplicativo, como o Google Maps AndroidAPI. Também pode acionar a detecção antipirataria e antiadulteração disponível em produtos como. DexGuard Para testes integrados, podemos modificar o manifesto para incluir as permissões necessárias para capturar e salvar capturas de tela.

Ao usar dispositivos privados, você pode pular a etapa em que o AWS Device Farm assina novamente seu aplicativo. Isso é diferente dos dispositivos públicos, em que o Device Farm sempre assina novamente a aplicação nas plataformas Android e iOS.

Você pode ignorar a nova assinatura do aplicativo ao criar uma sessão de acesso remoto ou a execução de um teste. Isso poderá ser útil se a aplicação tiver uma funcionalidade que seja interrompida quando o Device Farm assinar novamente a aplicação. Por exemplo, notificações por push podem não funcionar depois da nova assinatura. Para obter mais informações sobre as alterações que o Device Farm faz ao testar seu aplicativo, consulte o AWSDevice Farm FAQs ou a página Apps.

Para ignorar a nova assinatura do aplicativo para a execução de um teste, selecione Skip app re-signing (Ignorar nova assinatura do aplicativo) na página Configure (Configurar) ao criar a execução de teste.

Selecione Ignorar a nova assinatura do aplicativo ao usar instâncias de dispositivos privados em uma execução de teste

nota

Se você estiver usando a XCTest estrutura, a opção Ignorar a reassinatura do aplicativo não estará disponível. Para ter mais informações, consulte Integrando o Device Farm com XCTest o iOS.

Etapas adicionais para configurar suas configurações de assinatura de aplicativos variam, dependendo de você estar usando dispositivos privados Android ou iOS.

Ignorar a nova assinatura da aplicação em dispositivos Android

Se você estiver testando o aplicativo em um dispositivo Android privado, selecione Skip app re-signing (Ignorar nova assinatura do aplicativo) ao criar a execução de teste ou a sessão de acesso remoto. Nenhuma outra configuração é necessária.

Ignorar a nova assinatura da aplicação em dispositivos iOS

A Apple exige que você assine um aplicativo para teste antes de carregá-lo em um dispositivo. Para dispositivos iOS, você tem duas opções para assinar seu aplicativo.

  • Se estiver usando um perfil de desenvolvedor interno (Enterprise), você pode passar para a próxima seção, Criar uma sessão de acesso remoto para confiar na sua aplicação para iOS.

  • Se você estiver usando um perfil de desenvolvimento de aplicativo iOS ad hoc, você deverá primeiramente registrar o dispositivo com a conta de desenvolvedor da Apple e atualizar o perfil de provisionamento para incluir o dispositivo privado. Você deve assinar novamente o aplicativo com o perfil de provisionamento que você atualizou. Você pode executar a aplicação assinada novamente no Device Farm.

Para registrar um dispositivo com um perfil de aprovisionamento de desenvolvimento de aplicativos iOS ad hoc
  1. Faça login em sua conta de desenvolvedor da Apple.

  2. Navegue até a seção IDsCertificados e Perfis do console.

  3. Vá até Devices (Dispositivos).

  4. Registre o dispositivo em sua conta de desenvolvedor da Apple. Para obter o nome e UDID o dispositivo, use a ListDeviceInstances operação do Device FarmAPI.

  5. Acesse seu perfil de provisionamento e escolha Editar.

  6. Selecione o dispositivo na lista.

  7. No XCode, busque seu perfil de provisionamento atualizado e, em seguida, assine novamente o aplicativo.

Nenhuma outra configuração é necessária. Agora, você pode criar uma sessão de acesso remoto ou uma execução de teste e selecionar Skip app re-signing (Ignorar nova assinatura do aplicativo).

Criar uma sessão de acesso remoto para confiar na sua aplicação para iOS

Se estiver usando um perfil de provisionamento de desenvolvedor interno (Enterprise), você precisará fazer um único procedimento para confiar no certificado de desenvolvedor do aplicativo interno em cada um dos dispositivos privados.

Para isso, você pode instalar o aplicativo que deseja testar no dispositivo privado ou instalar um aplicativo fictício assinado com o mesmo certificado do aplicativo que deseja testar. Há uma vantagem em instalar um aplicativo fictício assinado com o mesmo certificado. A vantagem é que, depois de confiar no perfil de configuração ou no desenvolvedor do aplicativo empresarial, todos os aplicativos desse desenvolvedor serão confiáveis no dispositivo privado até que você os exclua. Dessa forma, quando fizer upload de uma nova versão do aplicativo que deseja testar, você não precisa confiar no desenvolvedor de aplicativos novamente. Isso é especialmente útil se você executar as automações de teste e não quiser criar uma sessão de acesso remoto cada vez que testar seu aplicativo.

Antes de iniciar sua sessão de acesso remoto, siga as etapas em Criação de um perfil de instância no AWS Device Farm para criar ou modificar um perfil de instância no Device Farm. No perfil de instância, adicione o ID do pacote da aplicação de teste ou aplicação simulada à configuração Excluir pacotes da limpeza. Em seguida, anexe o perfil de instância à instância do dispositivo privado para garantir que o Device Farm não remova essa aplicação do dispositivo antes de iniciar uma nova execução de teste. Isso garante que o certificado do desenvolvedor permaneça confiável.

Você pode fazer upload do aplicativo fictício para o dispositivo usando uma sessão de acesso remoto, o que permite iniciar o aplicativo e confiar no desenvolvedor.

  1. Siga as instruções em Criar uma sessão para criar uma sessão de acesso remoto usando o perfil da instância de dispositivo privado que você acabou de criar. Ao criar a sessão, não se esqueça de selecionar Skip app re-signing (Ignorar nova assinatura do aplicativo).

    Ignorar nova assinatura do aplicativo ao criar uma sessão de acesso remoto

    Importante

    Para filtrar a lista de dispositivos de modo a incluir apenas dispositivos privados, selecione Private device instances only (Somente instâncias de dispositivos privados) para garantir que você use um dispositivo privado com o perfil de instância correto.

    Além disso, adicione a aplicação simulada ou a aplicação que você deseja testar à configuração Excluir pacotes da limpeza para o perfil de instância que está anexado a essa instância.

  2. Quando a sessão remota for iniciada, escolha Escolher arquivo para instalar uma aplicação que use seu perfil de provisionamento interno.

  3. Inicie o aplicativo recém-carregado.

  4. Siga as instruções para confiar no certificado do desenvolvedor.

Todos os aplicativos desse perfil de configuração ou do desenvolvedor do aplicativo empresarial já são confiáveis nesse dispositivo privado até que você os exclua.