Alterações simultâneas no banco de dados de teste
Importante
O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.
Os scripts de teste geralmente alteram dados externos e testam as alterações. O processo geralmente inclui a configuração dos dados de volta para o estado conhecido ou inicial em que os testes foram escritos. Esse processo pode usar um banco de dados de teste com credenciais para o usuário de teste.
Esse cenário comum funciona bem para um único teste em um dispositivo por vez. Se você testar em vários dispositivos ao mesmo tempo, os testes poderão causar alterações conflitantes no banco de dados de teste.
Para evitar alterações conflitantes no banco de dados, você pode usar as seguintes abordagens, em ordem crescente de complexidade e potência:
Execute apenas um teste por vez.
Não modifique dados comuns ou não confie em dados que seus testes podem alterar.
Simule os dados em seus testes.
Crie vários usuários de teste com credenciais exclusivas, para que dispositivos simultâneos entrem como usuários diferentes. Use um índice de dispositivo para obter um identificador exclusivo para cada dispositivo em uma execução de teste e use o identificador para pesquisar as credenciais do usuário. Essa abordagem funciona apenas para vários dispositivos na mesma execução de teste, não em várias execuções de teste simultâneas.
Os scripts de teste de teste do App Center no Calabash, Appium e Xamarin.UITest podem acessar a
XTC_DEVICE_INDEX
variável de ambiente. A variável é uma string com intervalo0
paraN-1
, ondeN
é o número de dispositivos em que o teste é executado. Você pode usar essa variável para pesquisar credenciais ao executar um teste em paralelo em vários dispositivos. A variável está disponível apenas para o script de teste, não para o aplicativo em teste.Crie um serviço Web externo que os testes possam acessar em tempo de execução para obter um conjunto exclusivo de credenciais. Esta solução é a mais complexa, mas também a mais geral.